Compare commits

...

2119 Commits

Author SHA1 Message Date
Victor Vieux fa7b24f2c3 Bump version to v1.2.0
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-20 21:11:18 +00:00
Victor Vieux 380129d0d7 Merge remote-tracking branch 'origin/master' into bump_v1.2.0
Conflicts:
	VERSION
	daemon/container.go
	daemon/daemon.go

Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-20 20:19:03 +00:00
Victor Vieux b1d20c483a Merge pull request #7648 from crosbymichael/update-libcontainer-aug5
Update libcontainer to db65c35051d05f3fb218a0e84a1
2014-08-20 15:15:23 -05:00
James Turnbull 997336fd95 Merge pull request #7634 from krrg/patch-1
Update openSUSE installation instructions
2014-08-20 14:46:41 -04:00
Michael Crosby 624b944896 Update libcontainer to db65c35051d05f3fb218a0e84a1
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-20 11:19:55 -07:00
Joffrey F 2eb26991f4 Merge pull request #7495 from sontags/enable_search_on_private_reg
Enable `docker search` on private docker registry.
2014-08-20 18:10:29 +02:00
Victor Vieux 94fbcea7a3 Merge pull request #5129 from vieux/host_resolv
allow /etc/hosts /etc/resolv.conf and /etc/hostname to be changed
2014-08-20 11:02:36 -05:00
James Turnbull 494bea9fba Merge pull request #7633 from fredlf/root_builder_warning
Added warning re: using root for dockerfile root. Fixes #7612
2014-08-20 08:02:38 -04:00
James Turnbull 0d26b7cc6d Merge pull request #7635 from bfirsh/docs-https-newsletter-url
Use HTTPS for newsletter signup form
2014-08-20 08:01:27 -04:00
James Turnbull 9faf0254ef Merge pull request #7640 from xiaods/develop
Cleanup: correct cli --volumes-from description
2014-08-20 08:01:05 -04:00
Deshi Xiao 4d0b88c52f Cleanup: correct cli --volumes-from description
issue #7580 volumes-from comma separated list mentioned this case.

Options like --volumes-from=[] indicate they can be specified multiple times:
docker run -it --rm --volumes-from TEST_DATA --volumes-from TEST_DATA2 ubuntu bash

Signed-off-by: Deshi Xiao <dxiao@redhat.com>
2014-08-20 16:31:04 +08:00
Fred Lifton 98dd982586 Fixed a typo and added a bit based on Sven's feedback
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-08-19 17:22:11 -07:00
Ben Firshman 8c7915fcde Use HTTPS for newsletter signup form
This is causing an insecure HTTPS error in Chrome 37.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-08-19 15:39:37 -07:00
krrg 05a09675c3 Update openSUSE installation instructions
Out of box, the 'sudo' command on openSUSE does not work similarly to other distros.  In this case, the path to usermod should be explicitly given, since /usr/sbin, where usermod is located, is not on the sudoing user's PATH.  The other sudo commands here should be fine.
2014-08-19 16:03:51 -06:00
Fred Lifton b63c10558e Added warning re: using root for dockerfile root. Fixes #7612
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-08-19 13:39:50 -07:00
Victor Vieux d4c2d0c57f Merge pull request #7608 from LK4D4/remove_internet_dep
Remove internet dependency from TestBuildCacheADD
2014-08-19 14:13:52 -05:00
Vincent Batts 487af281bf Merge pull request #7602 from unclejack/tarsum_garbage_reduction
pkg/tarsum: avoid buf2 allocation in Read
2014-08-19 13:50:15 -04:00
Michael Crosby 7db55a1807 Merge pull request #7613 from VojtechVitek/godoc_travis
Add GoDoc and Travis build link/images to README
2014-08-19 12:21:05 -05:00
Fred Lifton abc1346777 Merge pull request #7604 from SvenDowideit/docs-update
update the cli / man page docs based on what is in master right now
2014-08-19 10:12:50 -07:00
Tibor Vass 39bcc3a3e5 Merge pull request #7628 from crosbymichael/fix-search-test
Fix search test for busybox image
2014-08-19 12:11:29 -05:00
Victor Vieux 26feb09fac add small doc
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-19 17:06:17 +00:00
Victor Vieux fc39f9c78d add tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-08-19 17:06:17 +00:00
Victor Vieux f3b2c93b9f allow /etc/hosts /etc/resolv.conf and /etc/hostname to be changed
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-08-19 17:06:17 +00:00
Michael Crosby dad2fcb199 Fix search test for busybox image
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-19 09:52:46 -07:00
Sven Dowideit 366fe67946 Merge pull request #7610 from remram44/patch-1
Fixes "note" blockquote too long [doc, minor]
2014-08-19 09:11:15 +10:00
Vojtech Vitek (V-Teq) 7cb6871355 Add GoDoc and Travis build link/images to README
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-08-19 01:08:47 +02:00
Remi Rampin 99082de9ad Fixes "note" blockquote too long [doc, minor]
A "note" block includes too much text, so if you skip over it the next paragraph makes zero sense.
2014-08-18 15:31:37 -04:00
Michael Crosby 37db53bf7a Merge pull request #7597 from crosbymichael/update-libcontainer-aug4
Update libcontainer to 29363e2d2d7b8f62a5f353be333
2014-08-18 12:24:17 -05:00
Alexandr Morozov 075e1bc1c3 Remove internet dependency from TestBuildCacheADD
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-18 14:13:43 +04:00
SvenDowideit 018e75a6e4 update the cli / man page docs based on what is in master right now
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-08-18 09:31:58 +10:00
unclejack 55533693be pkg/tarsum: avoid buf2 allocation in Read
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-08-17 14:45:11 +03:00
Daniel Menet c1ee94a343 resolved merge conflict
Signed-off-by: Daniel Menet <membership@sontags.ch>
2014-08-16 14:29:15 +02:00
Daniel Menet 676308b853 Expand hostname before passing it to NewRegistry()
Signed-off-by: Daniel Menet <membership@sontags.ch>
2014-08-16 14:25:46 +02:00
Daniel Menet 3231033a80 Enable docker search on private docker registry.
The cli interface works similar to other registry related commands:

  docker search foo

... searches for foo on the official hub

  docker search localhost:5000/foo

... does the same for the private reg at localhost:5000

Signed-off-by: Daniel Menet <membership@sontags.ch>
2014-08-16 14:24:32 +02:00
Michael Crosby a67d06fd43 Update libcontainer to 29363e2d2d7b8f62a5f353be333
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-15 15:41:05 -07:00
Victor Vieux 7afb98ad5d Merge pull request #7594 from vieux/remove_empty_folder
remove empty builder folder
2014-08-15 10:57:14 -07:00
Victor Vieux 57564d91a4 remove empty builder folder
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-15 17:52:44 +00:00
Victor Vieux 101c749b65 Merge pull request #7589 from shykes/cleanup-img-depth
Cleanup: move image depth checks in image/
2014-08-15 10:47:36 -07:00
Tianon Gravi a20f4ce291 Merge pull request #7593 from tianon/remove-crashtest
Remove crashTest.go since the use case is covered by docker-stress
2014-08-15 10:43:45 -07:00
Tianon Gravi 3a70ca3c67 Remove crashTest.go since the use case is covered by docker-stress
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-15 11:28:58 -06:00
Fred Lifton d1fc32e265 Merge pull request #7581 from samuel-phan/patch-1
Update docker-attach.1.md
2014-08-14 18:36:23 -07:00
Fred Lifton 31bd4a19c9 Merge pull request #7562 from jperrin/master
Updated CentOS documentation to reflect CentOS 7 install.
2014-08-14 18:32:05 -07:00
Fred Lifton 4bcc7e283f Merge pull request #7546 from hollietealok/master
Added fredlf's suggested changes.
2014-08-14 18:27:50 -07:00
Solomon Hykes 2a39635d30 Cleanup: move image depth checks in image/
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-15 00:43:12 +00:00
Victor Vieux 5a1e4a1092 Merge pull request #7582 from LK4D4/fix_races
Fix some race conditions
2014-08-14 14:35:04 -07:00
Alexandr Morozov 0d4d7e4a28 Cleanup: Make channels unbuffered
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-14 21:51:25 +04:00
Alexandr Morozov f1975cbc7c Fix race on state serialization
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-14 21:51:15 +04:00
Alexandr Morozov 93d6adf8a1 Fix race between container cleanup and inspect/ps
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-14 21:51:06 +04:00
Alexandr Morozov 1480168e9f Fix race condition in sending started signal from monitor
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-14 21:50:56 +04:00
James Turnbull 17112704b9 Merge pull request #7126 from ostezer/update-certificates
Docs: articles/certificates.md rewrite.
2014-08-14 08:52:08 -04:00
Samuel PHAN 5073554ca6 Update docker-attach.1.md 2014-08-14 14:20:38 +02:00
Victor Vieux a7d116f1b0 Merge pull request #7573 from vieux/remove_double_newline
remove double newline
2014-08-13 23:24:30 -07:00
Andy Rothfusz 31a9c97d7d Merge pull request #7544 from metalivedev/fixmailmap
Fix my email entry. FIxing email entry.
2014-08-13 20:05:56 -07:00
Sven Dowideit f945edb3e0 Merge pull request #7532 from ChristopherBiscardi/shiftWindow
Remove Old shiftWindow()
2014-08-14 12:48:19 +10:00
Victor Vieux a0392324f1 another commit to do like @crosbymichael
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-14 01:36:26 +00:00
Victor Vieux fcf37be2b1 remove double newline
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-14 01:08:27 +00:00
Jim Perrin d939fe758a Updated CentOS documentation to reflect CentOS 7 install.
Added reference to CentOS Dockerfiles on github.

Signed-off-by: Jim Perrin <jperrin@centos.org> (github: jperrin)
2014-08-13 19:06:53 -05:00
Michael Crosby b95f6c183b Merge pull request #7414 from crosbymichael/auto-restart
Auto restart containers based on restart policy
2014-08-13 16:17:51 -07:00
Michael Crosby 25c519e829 Deprecate --restart on the daemon
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 16:08:50 -07:00
Michael Crosby 73ced63680 Update based on comments from the code review
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:55 -07:00
Michael Crosby 2ec1b697c1 Rebased changes to return on first start's error
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:55 -07:00
Michael Crosby ebf5d4657d Reguardless of success reset time increment
Reset the time increment if the container's execution time is greater
than 10s or else as a container runs and is restarted the time will grow
overtime.

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby 972c894931 Improve wait during restart
We need to do this so that when a user asks docker to stop the container
and it is currently in the restart loop we don't want to have to wait
for the duration of the restart time increment before ack. the stop.

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby c4a00d549d Honor the restarting state in Stop
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby a2afb2b1e3 Add Restarting state when docker is handling the restart of containers
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby be22d7ac2d Add additional comments for vague lines
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby 6ae05936e1 Move container start event into monitor
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby b7550cd456 Fix rebase around log event
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby feda8fbb21 Restart conatiner with on-failure policy if exit code != 0
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby 41870a42be Only restart containers on daemon load with policy of always
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:58:54 -07:00
Michael Crosby 617edd89f4 Update docs based on feedback from review for --restart
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:57:37 -07:00
Michael Crosby 860c13b788 Add documentation and update restart rules.
Implement time backed backoff for restarting and fix failure count when
the maximum is 0

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:57:37 -07:00
Michael Crosby 2b0776c883 Refactor container monitor into type
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:56:53 -07:00
Michael Crosby d9753ba20d Add typed RestartPolicy
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:56:34 -07:00
Michael Crosby e0a076d486 Cleanup restart logic in monitor
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:56:34 -07:00
Michael Crosby bd8c9dc239 Restart containers based on restart policy
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 15:56:34 -07:00
Tibor Vass 0d70706b4b Merge pull request #7569 from erikh/pkg_log
Cleanup: Extract log utils into pkg/log
2014-08-13 18:43:08 -04:00
Victor Vieux 6b363b81de Merge pull request #7572 from shykes/workaround-api-shutdown
Workaround to avoid 5 second delay on graceful daemon restart
2014-08-13 15:41:33 -07:00
Erik Hollensbe ac63d925d2 move utils.Fataler to pkg/log.Fataler
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-13 15:32:41 -07:00
Josiah Kiehl a02f67be5b Extract log utils into pkg/log
Docker-DCO-1.1-Signed-off-by: Josiah Kiehl <josiah@capoferro.net> (github: capoferro)
2014-08-13 15:18:15 -07:00
Victor Vieux 13eb477b62 Merge pull request #7506 from shykes/cleanup-daemonconfig
Cleanup: refactor parsing and handling of Daemon config
2014-08-13 15:07:13 -07:00
Solomon Hykes 6aecdb4f8e Workaround to avoid 5 second delay on graceful daemon restart
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 21:40:25 +00:00
Michael Crosby fd1b563b4f Merge pull request #7548 from crosbymichael/proxy-exec
Move userland proxies out of daemon process
2014-08-13 14:03:40 -07:00
Solomon Hykes 2837a36bd7 Merge pull request #7570 from erikh/remove_fixme
Remove FIXME file
2014-08-13 13:55:20 -07:00
Olivier Gambier 49c43004a7 Merge pull request #7194 from vbatts/vbatts-registry_re-org
registry: cleanup and rename Registry -> Session
2014-08-13 13:37:56 -07:00
Tibor Vass 0c6b137f06 Merge pull request #7484 from cpuguy83/cleanup_volume_init
Cleanup: initializeVolume
2014-08-13 16:18:02 -04:00
Brian Goff e350df5b2c Cleanup: initializeVolume
- Use a common struct for Volumes
- Split out some functionality in intializeVolume into separate functions
- Removes some duplicate code
- In general much easier to grok the code now

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-08-13 15:55:59 -04:00
Erik Hollensbe 7bfc78b038 Remove FIXME file
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-13 12:49:12 -07:00
Solomon Hykes a30fd7a962 Fix inconsistency in IP address parsing errors
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:51 +00:00
Solomon Hykes 1d10c55aec Move remote API config out of daemon/
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:51 +00:00
Solomon Hykes 1eba59eb24 Check for conflicting daemon config options in NewDaemon
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:51 +00:00
Solomon Hykes ca11b77471 opts.IPVal returns an error on incorrect input
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:51 +00:00
Solomon Hykes 353b7c8ec7 Parse daemon configuration in daemon.Config.InstallFlags instead of main
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:51 +00:00
Solomon Hykes 6200002669 Helpers to parse lists, IPs, hosts, dns searches from the command line
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:25:47 +00:00
Michael Crosby 33fa175abf Merge pull request #7568 from crosbymichael/replace-7240
Exit after receiving SIGTERM
2014-08-13 12:23:34 -07:00
Michael Crosby cdf8a55670 Exit after receiving SIGTERM
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 12:18:23 -07:00
Solomon Hykes 6d59a56675 opts.IpOpt: a helper to parse IP addressed from the command line
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:09:51 +00:00
Solomon Hykes a4befff533 Move daemonconfig into daemon
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 19:09:51 +00:00
Michael Crosby b4e2f5ed96 Move userland proxies out of daemon's process
This PR moves the userland proxies for TCP and UDP traffic out of the
main docker daemon's process ( from goroutines per proxy ) to be a
separate reexec of the docker binary.  This reduces the cpu and memory
needed by the daemon and if the proxy processes crash for some reason
the daemon is unaffected.  This also displays in the standard process
tree so that a user can clearly see if there is a userland proxy that is
bound to a certain ip and port.

```bash
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS                                          NAMES
5d349506feb6        busybox:buildroot-2014.02   "sh"                13 minutes ago      Up 1 seconds        0.0.0.0:49153->81/tcp, 0.0.0.0:49154->90/tcp   hungry_pike
root@1cbfdcedc5a7:/go/src/github.com/docker/docker# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  18168  3100 ?        Ss   21:09   0:00 bash
root      8328  0.7  0.6 329072 13420 ?        Sl   22:03   0:00 docker -d -s vfs
root      8373  1.0  0.5 196500 10548 ?        Sl   22:03   0:00 userland-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49153 -container-ip 10.0.0.2 -container-port 81
root      8382  1.0  0.5 270232 10576 ?        Sl   22:03   0:00 userland-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49154 -container-ip 10.0.0.2 -container-port 90
root      8385  1.2  0.0   3168   184 pts/0    Ss+  22:03   0:00 sh
root      8408  0.0  0.1  15568  2112 ?        R+   22:03   0:00 ps aux
```

This also helps us to cleanly cleanup the proxy processes by stopping
these commands instead of trying to terminate a goroutine.

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 11:54:47 -07:00
Victor Vieux c9c271858a Merge pull request #6162 from vbatts/vbatts-ps_filter
docker ps: introducing filters
2014-08-13 11:44:48 -07:00
unclejack c071cd7c7c Merge pull request #7553 from LK4D4/update_to_1.3.1
bump Go to 1.3.1
2014-08-13 21:42:32 +03:00
Michael Crosby 283ee10886 Add Self func to reexec pkg to return the current binary path
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-13 11:14:33 -07:00
Michael Crosby 1c5a4e0900 Merge pull request #7559 from LK4D4/fix_udp_proxy_deadlock
Fix deadlock on failed dial in UDP userland proxy
2014-08-13 11:11:09 -07:00
Michael Crosby ad7279e480 Merge pull request #7555 from LK4D4/fix_vet_warnings
Fix go vet warnings
2014-08-13 10:40:38 -07:00
Michael Crosby 3cc79e7818 Merge pull request #7556 from shykes/cristian-integration-maintainer
Add Cristian to integration/MAINTAINERS
2014-08-13 10:39:50 -07:00
Michael Crosby c9e359cf97 Merge pull request #7497 from shykes/cleanup-server
Remove deprecated server package
2014-08-13 10:37:37 -07:00
James Turnbull 8c38a3d732 Merge pull request #7552 from michaelthies/patch-1
Update postgresql_service.md
2014-08-13 09:40:51 -04:00
Vincent Batts 752dd707ac registry.Registry -> registry.Session
renaming this struct to more clearly be session, as that is what it
handles.

Splitting out files for easier readability.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-08-13 09:27:43 -04:00
Alexandr Morozov 6cbb8e070d Fix deadlock on failed dial in UDP userland proxy
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-13 17:18:37 +04:00
Vincent Batts 84146719d8 docker ps: introducing filters
* starting with filtering for exit codes. `docker ps -a --filter 'exited=1'`
* API doc for filter parameter
* formatting filters for help usage
* tweaks for review

This requires https://github.com/dotcloud/docker/pull/4430

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-08-13 09:12:33 -04:00
Tianon Gravi 57f6b3e1ec Merge pull request #7545 from tianon/mkimage-lucid-fix
Fix contrib/mkimage/debootstrap for Lucid
2014-08-13 06:46:51 -06:00
Solomon Hykes 7d1b2ebde8 Add Cristian to hack/MAINTAINERS
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 08:13:51 +00:00
Solomon Hykes da63a93e89 Add Cristian to integration/MAINTAINERS
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 07:50:40 +00:00
Alexandr Morozov 391c35c822 Fix go vet warnings
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-13 11:37:30 +04:00
Solomon Hykes 63503cafe4 Remove deprecated server/ package
Victory!

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 06:56:45 +00:00
Alexandr Morozov c6595b3ee8 bump Go to 1.3.1
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-13 10:49:03 +04:00
Michael Thies 99423e7e1e Update postgresql_service.md
fix typo
2014-08-12 23:30:04 -05:00
Solomon Hykes 491deae9b8 Move "build" to daemon/build.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-13 03:12:33 +00:00
Michael Crosby 64579f51fc Merge pull request #7301 from vieux/fix_goroutines_leak_exit_code
fix goroutines leak and exit code
2014-08-12 17:37:24 -07:00
Victor Vieux b06311a72e fix goroutines leak and exit code
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)

Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-13 00:03:56 +00:00
Tibor Vass 136631df46 Merge pull request #7549 from vieux/fix_leftover
fix #7374 leftover
2014-08-12 19:51:57 -04:00
Victor Vieux bcfd6a653b fix #7374 leftover
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-08-12 23:37:33 +00:00
Andy Rothfusz 10ec205b77 Updated AUTHORS file
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
2014-08-12 16:19:10 -07:00
James Turnbull 3de3719290 Merge pull request #7359 from timthelion/patch-10
Add process for PR acceptance, review, rejection
2014-08-12 19:17:10 -04:00
Hollie Teal e608312677 Removed merge conflict artifacts.
Signed-off-by: Hollie Teal <hollie@docker.com>
2014-08-12 15:30:21 -07:00
Hollie Teal af5ced62ca Added fredlf's suggested changes.
Signed-off-by: Hollie Teal <hollie@docker.com>
2014-08-12 15:21:55 -07:00
Tianon Gravi 631fadc0b9 Fix contrib/mkimage/debootstrap for Lucid
Later versions of `apt` are smart enough to just create this directory if it's missing, but Lucid balks (just like `gnupg` and `gpgv` aren't in the Required set so don't come in a minbase -- good ol' Lucid).

Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-12 15:37:42 -06:00
Victor Vieux 91a2f22aca Merge pull request #7538 from LK4D4/move_some_integration_to_cli
Move some integration to cli
2014-08-12 14:17:08 -07:00
Timothy Hobbs e4a09cd79d Add process for PR acceptance, review, rejection
This is an extremely tentative PR.  However, I feel that the suggestions are generally good.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: timthelion)
2014-08-12 20:29:45 +00:00
Andy Rothfusz 8830653977 Fix my email entry so that my current email is first and the old commit email second.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
2014-08-12 13:24:42 -07:00
Tibor Vass 18a0eba72d Merge pull request #7466 from tiborvass/irc-meetings
Add irc-meetings section in CONTRIBUTING
2014-08-12 13:36:57 -04:00
Tibor Vass c58c70b8bd Add irc-meetings section in CONTRIBUTING
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-12 13:35:14 -04:00
Victor Vieux 0771eb32dc Merge pull request #7528 from lalyos/fix_version_number_comparison
Fix version number comparison
2014-08-12 10:16:55 -07:00
James Turnbull d42326d927 Merge pull request #7531 from ChristopherBiscardi/priv-repos
Private Repos Copy Change
2014-08-12 09:50:21 -04:00
James Turnbull 96b52545ab Merge pull request #7533 from cirocosta/patch-1
Updates docs regarding linux mint troubleshot
2014-08-12 08:21:30 -04:00
O.S. Tezer 7df5493071 Docs: articles/certificates.md rewrite.
This commit contains a re-structured re-write of the original
certificated.md file, containing the amendments proposed with
PR #7120 (commit ID bd28595e310ccfa98) by @timthelion.

Related to: https://github.com/dotcloud/docker/pull/7120

2014-07-30: Update/rebase/squash based on the comments from @jamtur01 and @fredlf.
2014-08-12: Update/rebase/squash based on the comments from @fredlf (of 2014-08-12).

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-08-12 14:49:08 +03:00
Alexandr Morozov c19e0fe7e2 Move TestRunExit to integration-cli
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-12 13:40:14 +04:00
Alexandr Morozov a44f065f17 Move TestRunWorkdirExistsAndIsFile to integration-cli
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-12 12:22:25 +04:00
Ciro S. Costa fcddecc828 Updates docs regarding linux mint troubleshot
Signed-off-by: Ciro S. Costa <ciro.costa@usp.br>
2014-08-12 02:56:57 -03:00
Victor Vieux 01995ebebb Merge pull request #7490 from crosbymichael/reexec
Use argv0 as reexec implementation for dockerinit
2014-08-11 18:43:34 -07:00
Michael Crosby 1a249a5feb Panic if trying to register an func with the same name
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-11 18:13:27 -07:00
Sven Dowideit 2c882a482e Merge pull request #7398 from SvenDowideit/add-more-details-to-https-docs
tell the user what to expect, including that it is a verbose process.
2014-08-12 10:35:28 +10:00
Sven Dowideit b94f2c4c6d tell the user what to expect, including that it is a verbode process.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-08-12 10:32:38 +10:00
ChristoperBiscardi 1e2ce72ffe Remove Old shiftWindow()
closes #7493

Docker-DCO-1.1-Signed-off-by: Christopher Biscardi <biscarch@sketcht.com> (github: ChristopherBiscardi)
2014-08-11 17:12:34 -07:00
ChristoperBiscardi df9650eebb Private Repos Copy Change
Docker-DCO-1.1-Signed-off-by: Christopher Biscardi <biscarch@sketcht.com> (github: ChristopherBiscardi)
2014-08-11 16:37:58 -07:00
lalyos 58ef92f89e Fix equal short-long version number comparison
Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com>
2014-08-11 23:40:35 +02:00
lalyos 8a4d2d6f7f Add test case for identical short and long version numbers
Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com>
2014-08-11 23:36:09 +02:00
Fred Lifton 8595a4ff7a Merge pull request #7516 from thaJeztah/faqs-explain-debian-noninteractive
Add "DEBIAN_FRONTEND" to FAQ
2014-08-11 14:19:06 -07:00
Sebastiaan van Stijn 2e5d35c1f1 Add "DEBIAN_FRONTEND" to FAQ
Added some explanation on using ‘DEBIAN_FRONTEND’ to the FAQs. As
discussed here;
https://github.com/docker/docker/pull/7035#issuecomment-50967867

Docker-DCO-1.1-Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (github: thaJeztah)
2014-08-11 23:12:47 +02:00
Michael Crosby 57e0cbb991 Merge pull request #7507 from shykes/cleanup-tiny
Cleanup: tiny little things
2014-08-11 12:41:17 -07:00
Michael Crosby 9694209241 Fix hack in old integration test for new init
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-11 11:47:22 -07:00
Michael Crosby 29af9c14e4 Remove unsued sysinit package
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-11 11:47:21 -07:00
Michael Crosby 7321067176 Use argv0 as reexec implementation for dockerinit
This changes the way the exec drivers work by not specifing a -driver
flag on reexec.  For each of the exec  drivers they register their own
functions that will be matched aginst the argv 0 on exec and called if
they match.

This also allows any functionality to be added to docker so that the
binary can be reexec'd and any type of function can be called.  I moved
the flag parsing on docker exec to the specific initializers so that the
implementations do not bleed into one another.  This also allows for
more flexability within reexec initializers to specify their own flags
and options.

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-11 11:47:21 -07:00
Tibor Vass e033425f0b Merge pull request #7502 from LK4D4/catch_error_console
Catch error on console creation
2014-08-11 12:13:53 -04:00
Tibor Vass 5ffbc8dc82 Merge pull request #7509 from LK4D4/fix_http_handler_error_log
Fix log message on http handler error
2014-08-11 12:12:33 -04:00
Tibor Vass e94d772910 Merge pull request #7499 from LK4D4/fix_events_error
Fix error message on logging events
2014-08-11 12:10:30 -04:00
Tibor Vass a9ff2fdfac Merge pull request #7520 from LK4D4/more_events_test
More events test
2014-08-11 12:09:11 -04:00
unclejack f4f1e4db70 Merge pull request #6301 from rail44/feature-load-only-not-exist-image
Use only unavailable image when load from Tarball
2014-08-11 11:28:52 +03:00
Alexandr Morozov 44842ea3d8 Test on untag and delete events
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-11 11:39:47 +04:00
Alexandr Morozov 17ab516fde Test on container events
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-11 10:42:55 +04:00
Solomon Hykes b74e507245 Merge pull request #7496 from shykes/cleanup-push-pull
Cleanup: move "pull" and "push" to graph/pull.go and graph/push.go
2014-08-10 23:29:28 -07:00
James Turnbull 9fa4bea03b Merge pull request #7489 from duglin/7281
fix for issue 7281
2014-08-10 13:27:21 -04:00
James Turnbull dfd6fcb548 Merge pull request #7498 from ostezer/fix-builds-errors
Docs: Fix builds.md line-length + minor typo issues
2014-08-10 13:26:16 -04:00
James Turnbull 7b13212076 Merge pull request #7501 from wyc/patch-1
Update gentoolinux.md
2014-08-10 13:20:14 -04:00
James Turnbull aa3bc6559b Merge pull request #7514 from phemmer/cli_cmd_prefix_fix
fix command output examples in cli documentation
2014-08-10 13:18:50 -04:00
Patrick Hemmer d613f11217 fix command output examples in cli documentation
f87a97f accidentally added a few too many `$` line prefixes

Docker-DCO-1.1-Signed-off-by: Patrick Hemmer <patrick.hemmer@gmail.com> (github: phemmer)
2014-08-10 12:47:46 -04:00
Daniel Menet ea59aa8cb5 Expand hostname before passing it to NewRegistry()
Signed-off-by: Daniel Menet <membership@sontags.ch>
2014-08-10 11:48:34 +02:00
Alexandr Morozov e9aa6489a6 Fix log message on http handler error
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-10 13:30:22 +04:00
Solomon Hykes a110ce2f28 Rename a method for clarity
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-10 04:33:19 +00:00
Solomon Hykes 5e9b3727b8 Move declaration of DockerCli to top of file for readability
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-10 04:31:59 +00:00
Alexandr Morozov 93f6cf0351 Catch error on console creation
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-09 22:10:44 +04:00
wyc 6ba1949e6a Update gentoolinux.md 2014-08-09 14:00:29 -04:00
LK4D4 7afc49b40b Fix error message on logging events
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
2014-08-09 18:45:38 +04:00
Doug Davis 55dc4f2b94 fix for issue 7281
add missing comma per O.S. Tezer's commment

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-08-09 08:11:59 -04:00
O.S. Tezer 8b3f2381d0 Docs: Fix builds.md line-length + minor typo issues
This PR proposes to fix some already existing (i.e., older)
line-length & line-alignment issues and the ones recently
included/merged with the PR #7406
(https://github.com/docker/docker/pull/7406).

It also proposes to fix a couple minor typography mistakes
(i.e., spelling of GitHub and Service Hooks (headers))

This PR does *not* propose any content changes.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-08-09 14:55:47 +03:00
Daniel Menet cc3e94b9ba Enable docker search on private docker registry.
The cli interface works similar to other registry related commands:

  docker search foo

... searches for foo on the official hub

  docker search localhost:5000/foo

... does the same for the private reg at localhost:5000

Signed-off-by: Daniel Menet <membership@sontags.ch>
2014-08-09 09:16:54 +02:00
Michael Crosby 2c90fde982 Merge pull request #7449 from shykes/cleanup-shutdown
Cleanup: refactor shutdown and signal handling facility
2014-08-08 19:39:51 -07:00
Tianon Gravi 93da07a8dc Merge pull request #7492 from crosbymichael/update-libcontainer-aug3
Update libcontainer to f2e78425c377acc7a67a35c3148
2014-08-08 17:44:13 -06:00
Michael Crosby 983b4fc3bf Merge pull request #7475 from erikh/fix_hostname_parsing
fix parsing of hostnames when we actually want IP addresses.
2014-08-08 16:40:50 -07:00
Michael Crosby c74e8b544d Update libcontainer to f2e78425c377acc7a67a35c3148
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-08 16:12:35 -07:00
Erik Hollensbe 99a864431d First stab at nat tests.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-08 15:01:12 -07:00
Erik Hollensbe 3c49cb17fb fix parsing of hostnames when we actually want IP addresses.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-08 15:01:10 -07:00
Hollie Teal 2dc21af70b Merge pull request #7406 from hollietealok/docs_add
Added "Github Submodules" section to Automated Builds doc.
2014-08-08 09:40:42 -07:00
James Turnbull fb650d1e6d Merge pull request #7465 from flavio/update-opensuse-doc
Updated openSUSE's installation instructions
2014-08-08 11:28:27 -04:00
Tibor Vass 7dbab337dd Merge pull request #7479 from shykes/cleanup-server-info
Cleanup: move "info" to daemon/info.go
2014-08-08 09:34:14 -04:00
Satoshi Amemiya a34dd21611 Use only unavailable image when load from Tarball
Docker-DCO-1.1-Signed-off-by: Satoshi Amemiya <satoshi_amemiya@voyagegroup.com> (github: rail44)
2014-08-08 20:30:38 +09:00
Flavio Castelli 90e97960fa Updated openSUSE's installation instructions
Cover network configuration and reference the official openSUSE image
inside of the examples.

Docker-DCO-1.1-Signed-off-by: Flavio Castelli <fcastelli@suse.com> (github: flavio)
2014-08-08 12:36:20 +02:00
Solomon Hykes 6856a6b110 Move "pull" and "push" to graph/pull.go and graph/push.go
This is part of the ongoing effort to remove the deprecated server/
package, and generally cleanup and simplify the codebase.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-08 07:25:09 +00:00
James Turnbull 33d6b20c13 Merge pull request #7278 from Toebez/patch-1
Update nodejs_web_app.md
2014-08-07 23:16:37 -04:00
Solomon Hykes 94715e8e64 Move "info" to daemon/info.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-08 03:01:55 +00:00
Sven Dowideit 0ca010695c Merge pull request #7460 from suzaku/fix_docs
Make it clear that JSON array format should be used if CMD is used as default arguments
2014-08-08 12:10:01 +10:00
Solomon Hykes 09ad385f64 Merge pull request #7458 from jamtur01/cg
Update CONTRIBUTING.md
2014-08-07 18:45:51 -07:00
Tianon Gravi 2767509894 Merge pull request #7476 from tianon/sysvinit-status-of-proc
Fix several minor issues with Debian sysvinit script
2014-08-07 19:30:42 -06:00
Michael Crosby 414ccee23a Merge pull request #7374 from cpuguy83/revert_rm_f_deprecation
Revert --stop/--kill and use SIGKILL instead
2014-08-07 16:47:25 -07:00
Michael Crosby 5d9cfde0df Merge pull request #7453 from shykes/new-subsystem-maintainers
Add maintainers to daemon/ and graph/
2014-08-07 16:43:41 -07:00
Tianon Gravi 478fdaf933 Fix several minor issues with Debian sysvinit script
- add `set -e` to make failing commands bail the script
- remove trailing `exit 0` which is just extraneous anyhow
- adjust `status_of_proc` options to pass in `$DOCKER_DESC` so we get consistently styled messages like `Docker is running` or `Docker is not running` or `could not access PID file for Docker`

Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-07 16:45:22 -06:00
Tibor Vass 860ab469cc Merge pull request #7473 from tianon/pwaller-authors
Update .mailmap with a few more addresses
2014-08-07 18:26:49 -04:00
unclejack b36f630817 Merge pull request #7304 from unclejack/refactor_build_tests
integration cli: minor refactor of the build tests
2014-08-08 01:24:51 +03:00
Brian Goff 95f86da641 Revert rm -f deprecation use SIGKILL instead
`rm -f` was originally deprecated in favor of `rm --stop/--kill` since `rm
-f` was sending SIGTERM and potentially very slow.
Instead this will bring back `rm -f` but use SIGKILL isntead

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-08-07 18:20:43 -04:00
Michael Crosby 01022a305d Merge pull request #7405 from LK4D4/indicate_run_volume_test_pass
Print about "copy volume content" test passing
2014-08-07 15:09:41 -07:00
Michael Crosby bc9f5cdeb5 Merge pull request #7329 from erikh/move_broadcastwriter
Cleanup: utils/broadcastwriter -> pkg/broadcastwriter
2014-08-07 14:51:42 -07:00
Michael Crosby e907df8d93 Merge pull request #7474 from crosbymichael/testing-import
Only import "testing" in test packages
2014-08-07 14:48:00 -07:00
Michael Crosby b386bce1f1 Graphtest is ok to compile normally
The graphtest package is only imported in the test files of other
packages therefore we do not leak testing flags.

Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-07 14:33:09 -07:00
Tianon Gravi 7a34f13433 Regenerate AUTHORS one more time
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-07 15:32:11 -06:00
Peter Waller f8f36ff320 Add a few canonicalized author names
Docker-DCO-1.1-Signed-off-by: Peter Waller <p@pwaller.net> (github: pwaller)
2014-08-07 15:32:11 -06:00
Peter Waller d687c5b339 Change Peter Waller's canonical e-mail address
Docker-DCO-1.1-Signed-off-by: Peter Waller <p@pwaller.net> (github: pwaller)
2014-08-07 15:32:11 -06:00
Peter Waller 7d78dc33b1 Run hack/generate-authors.sh
Docker-DCO-1.1-Signed-off-by: Peter Waller <p@pwaller.net> (github: pwaller)
2014-08-07 15:32:11 -06:00
Peter Bourgon b87daf6d69 Only import "testing" from *_test.go
This prevents the testing package flags from leaking into the flagsets
of binaries that import docker. I left integration-cli alone.

Docker-DCO-1.1-Signed-off-by: Peter Bourgon <peter@bourgon.org> (github: peterbourgon)
2014-08-07 14:25:21 -07:00
Tibor Vass ab3e34e187 Merge pull request #7389 from tianon/replace-amd64-build-tags-with-cgo-as-appropriate
Replace amd64 build tags with cgo as appropriate
2014-08-07 16:24:19 -04:00
Tianon Gravi 45a239c168 Merge pull request #7413 from cpuguy83/7319_use_blackfriday_not_pandoc_for_manfile_gen
Use pure go markdown processor to generate man files
2014-08-07 14:23:49 -06:00
Michael Crosby 140e6abb17 Merge pull request #7443 from ewindisch/name-id-lookup-reversal
Container name lookups to prefer IDs over names
2014-08-07 11:14:47 -07:00
Tianon Gravi abbfc7e828 Merge pull request #7423 from tianon/nuclear-_-weapons--we-got-the-bomb
Add contrib/nuke-graph-directory.sh script to clean out old /var/lib/docker directories much more easily
2014-08-07 12:11:50 -06:00
Brian Goff dc296903f0 Merge pull request #7446 from cpuguy83/cleanup_extract_bindmount_spec_parsing
Cleanup: extract bindmount spec parsing
2014-08-07 11:48:07 -04:00
Brian Goff 3f136dc0e0 Use pure go markdown processor to generate man files
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-08-07 07:06:39 -04:00
satoru 6e0f072e36 Make it clear that JSON array format should be used if CMD is used as default arguments
Signed-off-by: Xuecong Liao <satorulogic@gmail.com>
2014-08-07 15:06:09 +08:00
James Turnbull 8891bb52de Update CONTRIBUTING.md
Added link to community guidelines
2014-08-07 02:23:00 -04:00
Solomon Hykes 7e12911f62 Merge pull request #7452 from shykes/7370-on-7427
Cleanup: move image management and logging out of deprecated Server
2014-08-06 18:47:45 -07:00
Erik Hollensbe bd373712d0 port usage of jsonlog to the new daemon files which were refactored
recently.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-06 16:45:04 -07:00
Erik Hollensbe 5cdb9c8aca utils.Debugf -> log.Printf, move jsonlog to own package.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-06 16:39:01 -07:00
Erik Hollensbe 5ab09f2f71 utils/broadcastwriter -> pkg/broadcastwriter
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-08-06 16:37:01 -07:00
Tianon Gravi 89ec17d113 Replace "amd64" build tags with "cgo" as appropriate, and remove where unnecessary
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-06 17:20:21 -06:00
Michael Crosby bc684fae64 Merge pull request #7430 from tamsky/docfixes
style, grammar, spelling fixes.
2014-08-06 16:11:52 -07:00
Michael Crosby e86d87e1ce Merge pull request #7431 from tamsky/fixes-7105
add warning re: changing value of `dm.basesize`.
2014-08-06 15:22:42 -07:00
Tianon Gravi 8733cd7c0b Merge pull request #7428 from crosbymichael/update-libcontainer-aug2
Update libcontainer to 5589d4d879f1d7e31967a927d3e
2014-08-06 15:41:35 -06:00
Brian Goff f34679d0a9 Cleanup: extract bindmount spec parsing
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-08-06 17:22:40 -04:00
unclejack c9ca37dfe9 Merge pull request #7448 from tiborvass/fix-tmpdir-integration-tests
Fix tmpdir integration tests
2014-08-06 23:54:09 +03:00
Michael Crosby 90da088491 Merge pull request #27 from tianon/update-libcontainer
Update hack/vendor.sh to use libcontainer's update-vendor.sh script as the source of truth for libcontainer deps and not include them in Docker's repo twice
2014-08-06 13:35:46 -07:00
Tibor Vass 872db07119 Fix integration tests by adding DOCKER_TMPDIR env in the test init function
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-06 15:55:50 -04:00
Tianon Gravi fba37a038d Update vendor with the updated canonical deps from libcontainer
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-06 13:19:41 -06:00
Tianon Gravi 5101173e1f Update hack/vendor.sh to use libcontainer's update-vendor.sh script as the source of truth for libcontainer deps and not include them in Docker's repo twice
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-06 13:18:24 -06:00
Tibor Vass 5e20b0027c Fix TestBuildForbiddenContextPath after TMPDIR change
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-06 14:24:00 -04:00
Solomon Hykes eb79dc14fe Engine.Shutdown only waits 5 seconds for active jobs to complete
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:12 +00:00
Solomon Hykes 92105ea0fa Remove unused field from engine.Job
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:12 +00:00
Solomon Hykes 20b0841c1b Remove last trace of Daemon->Server dependency
This removes a shim `daemon.Server` interface which was used to start
separating Daemon from Server *gradually*, without getting cyclic
dependency errors.

Now that the last Daemon->Server dependency has been removed, we can
finally remove the shim. Yay!

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:12 +00:00
Solomon Hykes 61eab75939 Extra testing for engine.Shutdown
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:12 +00:00
Solomon Hykes 78f0a914ee Replace Server.IsRunning with Engine.IsShutdown
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:11 +00:00
Solomon Hykes b4efcd53e0 Remove unnecessary job "initserverpidfile"
That job was a hacky solution to a real race condition. This removes the
hack without re-introducing the race.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:11 +00:00
Solomon Hykes c9f3fd3fc7 Cleanup: refactor shutdown and signal handling facility
This disentangles the following functions, which were previously all mixed together:

* 1) Waiting for jobs to terminate when shutting down
* 2) Handling signals in the Docker daemon
* 3) Per-subsystem cleanup handlers
* 4) pidfile management

Responsibilities are dispatched as follows:

* Signal traps are set in `main`, and trigger `engine.Shutdown`
* `engine.Shutdown` coordinates cleanup by waiting for jobs to complete, and calling shutdown handlers
* To perform cleanup at shutdown, each subsystem registers handlers with `engine.OnShutdown`
* `daemon` is one subsystem, so it registers cleanup via `engine.OnShutdown`.
* `daemon` owns the pidfile, which is used to lock access to `/var/lib/docker`. Part of its cleanup is to remove the pidfile.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:11 +00:00
Solomon Hykes d55e3fea72 Move signal handling code to pkg/signal.Trap
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:11 +00:00
Solomon Hykes d745067487 Subsystems can register cleanup handlers with Engine.OnShutdown
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:56:11 +00:00
unclejack 66c8f87e89 Merge pull request #6456 from rhatdan/tmpdir
Docker should use /var/lib/docker/tmp for large temporary files.
2014-08-06 20:31:46 +03:00
Eric Windisch 231e07ded4 Container name lookups to prefer IDs over names
Lookups of container names should prefer the ID over
names assigned to containers by users.

Signed-off-by: Eric Windisch <eric@windisch.us>
2014-08-06 13:09:11 -04:00
Solomon Hykes 5240e5f713 Add maintainers to daemon/ and graph/
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 10:29:15 +00:00
Solomon Hykes 1c11d7f93e Rename "log_event" to "log"
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 10:08:23 +00:00
Alexandr Morozov 8d056423f8 Separate events subsystem
* Events subsystem merged from `server/events.go` and
  `utils/jsonmessagepublisher.go` and moved to `events/events.go`
* Only public interface for this subsystem is engine jobs
* There is two new engine jobs - `log_event` and `subscribers_count`
* There is auxiliary function `container.LogEvent` for logging events for
  containers

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
[solomon@docker.com: resolve merge conflicts]
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 10:08:19 +00:00
Tibor Vass af0781974d Check error returned by eng.Register() in TagStore.Install()
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-06 17:19:01 -04:00
Tibor Vass 69f9d488dc Move some integration tests to integration-cli
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-06 17:18:51 -04:00
Solomon Hykes d787937957 Move "image_tag" and "tag" to graph/tag.go
Note: these 2 jobs should be merged into one. This was noted in a FIXME.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:51 -04:00
Solomon Hykes 7a5e3df162 Move "image_delete" to daemon/image_delete.go
Note: this cannot yet be moved to graph/ because of a lingering
dependency on daemon. This has been noted in a FIXME.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes fa27580cff Move "import" to graph/import.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes f2029f7be1 Move "load" to graph/load.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes 77781440f1 Move "viz" to graph/viz.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes 51dd68d659 Move "images" to graph/list.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes 55235e121e Move "image_history" to graph/history.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Solomon Hykes 6e28d11d1f Move "image_export" to graph/export.go
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-08-06 17:18:50 -04:00
Marc Tamsky bd30746e07 add warning re: changing value of dm.basesize.
Signed-off-by: Marc Tamsky <mtamsky@gmail.com> (github: tamsky)
2014-08-05 19:28:07 -07:00
Hollie Teal 4d0527856c Made requested changes (capitalization) 2014-08-05 19:06:52 -07:00
Michael Crosby 6215422286 Update libcontainer to 5589d4d879f1d7e31967a927d3e
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-05 18:13:43 -07:00
Marc Tamsky 07099b6256 style, grammar, spelling fixes.
Signed-off-by: Marc Tamsky <mtamsky@gmail.com> (github: tamsky)
2014-08-05 18:11:32 -07:00
Solomon Hykes 042b642d40 Merge pull request #7186 from jamtur01/community
Added proposed Docker Community Guidelines
2014-08-05 15:44:11 -07:00
Michael Crosby 0ea5160d2a Merge pull request #7412 from bfirsh/rename-docker-config
Rename DOCKER_CONFIG envvar to DOCKER_CERT_PATH
2014-08-05 14:52:28 -07:00
Dan Walsh b4813f2841 Docker should use /var/lib/container/tmp for large temporary files.
/tmp is often a tmpfs file system and large temporary files could cause
docker commands to fail.  Also using /tmp potentially allows users on the
system to get access to content, or even attack the content.  Moving the tmpdir to
/var/lib/container/tmp will protect the data.

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

Conflicts:
	docker/docker.go
2014-08-05 16:43:42 -04:00
Michael Crosby 8f4b477c32 Merge pull request #6909 from LK4D4/prune_cmd_on_entrypoint_setting_#5147
Cleanup cmd on entrypoint setting
2014-08-05 11:50:18 -07:00
Tianon Gravi 047ce47d92 Add contrib/nuke-graph-directory.sh script to clean out old /var/lib/docker directories much more easily
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-05 12:36:39 -06:00
James Turnbull e47415d5f5 Merge pull request #7349 from knan-linpro/master
networking.md: Networking between containers works without ip_forward
2014-08-04 23:51:22 -04:00
Ben Firshman a49de2c467 Rename DOCKER_CONFIG envvar to DOCKER_CERT_PATH
DOCKER_CONFIG was introduced in #6984.

We may use "config" for other purposes (e.g. #7232). Until we
have made a design decision around how configuration files will
work, DOCKER_CERT_PATH is a much safer name to rely on for future
compatibility.

Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-08-04 17:36:53 -07:00
Michael Crosby 3c1212ca30 Merge pull request #7377 from tianon/daemon-build-tag
Add a "daemon" build tag and toggle it with the already-existing "DOCKER_CLIENTONLY" build variable
2014-08-04 17:32:03 -07:00
Tianon Gravi 6b94f2d9be Merge pull request #7310 from stevecrozz/maintainers-grammar-update
Correct grammar in MAINTAINERS.md
2014-08-04 17:57:08 -06:00
Tianon Gravi ba663eac3a Adjust build tags to be client-only in "make cross" too
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-08-04 15:05:12 -06:00
Tianon Gravi 1b95590d06 Add a "daemon" build tag and toggle it with the already-existing "DOCKER_CLIENTONLY" build variable
This works mostly by refactoring our "main" package to be careful about what it imports based on the daemon build tag. :)

Also, I've updated Travis to test "client-only" compilation after it tests the daemon version.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-08-04 15:05:12 -06:00
Stephen Crosby 74212a1565 Correct grammer in MAINTAINERS.md
Signed-off-by: Stephen Crosby <stevecrozz@gmail.com>
2014-08-04 13:37:01 -07:00
Tibor Vass 0af135e906 Merge pull request #7388 from tianon/remove-pkg-system
Purge the bits of pkg/system that moved to libcontainer/system
2014-08-04 15:49:13 -04:00
Michael Crosby 07fce305f7 Merge pull request #7407 from crosbymichael/update-libcontainer-aug1
Update libcontainer to version 68ea1234a0b046803aacb2562df0da1
2014-08-04 12:37:13 -07:00
Michael Crosby cd6b903825 Ensure thread is locked in sysinit for docker
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-04 12:34:27 -07:00
Michael Crosby 22f373aeda Update libcontainer to 68ea1234a0b046803aacb2562df
Signed-off-by: Michael Crosby <michael@docker.com>
2014-08-04 12:34:11 -07:00
Hollie Teal bafad8cdc4 Added "Github Submodules" section to Automated Builds doc.
Signed-off-by: Hollie Teal <hollie.teal@docker.com>
2014-08-04 11:12:01 -07:00
LK4D4 825ca10dfd Print about "copy volume content" test passing
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-08-04 21:27:28 +04:00
Alexandr Morozov aa2d6dbc0c Inherit Cmd only if no --entrypoint specified on run
Fixes #5147
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-08-04 21:17:37 +04:00
LK4D4 1b6546b840 Cleanup Cmd on ENTRYPOINT instruction
Fixes #5147
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-08-04 20:48:36 +04:00
LK4D4 7dba5024e8 Remove redundant checks in runconfig.Merge
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-08-04 20:48:09 +04:00
James Turnbull d48492a12e Merge pull request #7391 from LK4D4/fix_relative_workdir_example
Fix example of relative WORKDIR
2014-08-03 10:14:33 -04:00
Sven Dowideit 41a553ca35 Merge pull request #7363 from lcoote/master
#1852 Remote API documentation incorrect regarding private registries
2014-08-03 21:21:43 +10:00
LK4D4 5514afcd88 Fix example of relative WORKDIR
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-08-03 12:28:25 +04:00
Tianon Gravi 60341f80d7 Purge the bits of pkg/system that moved to libcontainer/system
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-08-02 01:35:04 -06:00
Michael Crosby bec676e2de Merge pull request #7380 from tiborvass/merge-7368
Accept vanilla Linux Foundation signoffs (Closes 7368)
2014-08-01 16:33:13 -07:00
Tibor Vass 6b04d597ee Update CONTRIBUTING.md and test new DCO signature in this commit
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-08-01 19:30:58 -04:00
Tibor Vass 4909a70204 Accept vanilla Linux Foundation signoffs
This allows signing off commits with `git commit -s`

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)

Cleaned up DCO regex
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-08-01 19:30:34 -04:00
Victor Vieux e9b4cafd8d Merge pull request #7385 from crosbymichael/return-content-type-error
Return error for bad content-type
2014-08-01 16:30:18 -07:00
Michael Crosby 8266c381d6 Check content type along with content length
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-08-01 15:59:19 -07:00
Lachlan Coote a5c5dc121c #1852 Remote API documentation incorrect regarding private registries
Issues addressed:

- Remote API doco refers to "registry" parameter which is not supported
- Neglects to mention "tag" parameter which is supported
- Offers no guidance on pushing to private registries

Changes made:

- As directed in review comments, `registry` removed from all api versions (1.0-1.14)
- Have added documentation for `tag` parameter and guidance on private registries for versions 1.10-1.14 (I have only validated this on .10)

Docker-DCO-1.1-Signed-off-by: Lachlan Coote <lachlan.t.coote@gmail.com> (github: lcoote)
2014-08-01 15:58:01 -07:00
Michael Crosby 78ac75fe00 Return error for bad content-type
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-08-01 15:26:30 -07:00
Tibor Vass ca602cd1e5 Merge pull request #7367 from ichik1/btrfs-is-not-experimental
Btrfs graph driver is not experimental
2014-08-01 16:49:05 -04:00
Michael Crosby 69aa07af1e Merge pull request #7378 from rajdeepd/master
Added test cases for no port, -ve port passed to nat.ParsePortSpecs
2014-08-01 13:45:17 -07:00
Victor Vieux 867ffca84f Merge pull request #7379 from tiborvass/merge-7366
Cleanup: merge container-related jobs into daemon/ (Closes 7366)
2014-08-01 13:43:47 -07:00
Solomon Hykes f46de04af6 Cleanup daemon/Daemon.Install for readability
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:25:02 -04:00
Solomon Hykes d037007658 Move "containers" to daemon/list.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:24:58 -04:00
Solomon Hykes aa49632fef Move "top" to daemon/top.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:24:52 -04:00
Solomon Hykes 49e61f62ce Move "changes" to daemon/changes.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)

Fix issues with renaming changes to container_changes
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-08-01 14:24:46 -04:00
Solomon Hykes 06229a4b76 Move "copy" to daemon/copy.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:24:41 -04:00
Solomon Hykes cc39d579f5 Move "delete" to daemon/delete.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)

Fix issues with renaming container_delete to delete
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-08-01 14:24:28 -04:00
Solomon Hykes 066330fc96 Move "logs" to daemon/logs.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:29 -04:00
Solomon Hykes fdad41f5b9 Move "commit" to daemon/commit.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:24 -04:00
Solomon Hykes e0fd96f850 Move "resize" to daemon/resize.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:20 -04:00
Solomon Hykes c4ce396f46 Move "wait" to daemon/wait.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:16 -04:00
Solomon Hykes bd54a73c42 Move "restart" to daemon/restart.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:11 -04:00
Solomon Hykes 4180b87514 Move "start" to daemon/start.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:17:04 -04:00
Solomon Hykes 03c07617cc Move "stop" to daemon/stop.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:16:59 -04:00
Solomon Hykes 80f3272ee9 Move "create" to daemon/create.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:16:50 -04:00
Solomon Hykes 8031c23b0f Move "export" to daemon/export.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:16:41 -04:00
Solomon Hykes 8652830661 Move "kill" to daemon/kill.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-08-01 14:16:05 -04:00
Rajdeep Dua 4cb2cfed9f Added test cases for no port passed to nat.ParsePortSpecs and negative port number passed
Docker-DCO-1.1-Signed-off-by: Rajdeep due <dua_rajdeep@yahoo.com> (github: rajdeepd)
2014-08-01 23:41:34 +05:30
Michael Crosby 5d2a62d8de Merge pull request #7295 from vishh/rbind
Make lxc driver rbind all user specified mounts.
2014-08-01 10:25:45 -07:00
Erik Inge Bolsø e6a084f4f8 networking.md: Networking between containers works without ip_forward
Docker-DCO-1.1-Signed-off-by: Erik Inge Bolsø <knan@redpill-linpro.com> (github: knan-linpro)
2014-08-01 10:41:16 +02:00
Ken ICHIKAWA 58588009c0 Btrfs graph driver is not experimental
Btrfs graph driver is not experimental now according to #4838 and CHANGELOG.md is saying "btrfs is no longer considered experimental.".

Docker-DCO-1.1-Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com> (github: ichik1)
2014-08-01 14:37:38 +09:00
Sven Dowideit 503d124677 Merge pull request #7035 from tianon/standardize-apt-get-install
Standardize "apt-get install" usage across the repo
2014-08-01 11:43:37 +10:00
Michael Crosby 3490042836 Merge pull request #7362 from crosbymichael/fix-get-image-json
Fix get image json
2014-07-31 18:23:33 -07:00
Michael Crosby 63a4ba229c Update package for repo and tag parser
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-31 18:19:30 -07:00
Fabio Falci 103ae23504 Fix getImagesJSON output for api less than 1.7
Tag can be a number, like centos:6.4, and so must be handled like a
string otherwise will lose quotation marks when converting to json
and the client (API < 1.7) will try to convert to int, failing
because the type is string. Additionally using ParseRepositoryTag to
parse repository names to split the tag because an URL can have : and
so more than one occurrence of : can be found on repository names.

Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-07-31 18:15:16 -07:00
Sven Dowideit 0fc304ce32 Merge pull request #7361 from SvenDowideit/merge-edit_dockerlinks
First pass at replacing parent-child metaphor to describe docker links.
2014-08-01 11:12:05 +10:00
Fred Lifton 631ea726e4 First pass at replacing parent-child metaphor to describe docker links.
Addresses issue #7141

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

a little git by
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: SvenDowideit)
2014-08-01 11:09:00 +10:00
Michael Crosby 5395cecc48 Merge pull request #7354 from timthelion/patch-8
Remove the restriction on multi-user PRs
2014-07-31 16:19:10 -07:00
Victor Vieux 90dadea84d Merge pull request #7344 from shykes/cleanup-server-attach
Move container-related jobs out of deprecated server/ package
2014-07-31 15:56:48 -07:00
Michael Crosby b1496effe3 Merge pull request #7312 from tianon/update-libcontainer
Bump libcontainer dep
2014-07-31 15:20:07 -07:00
Michael Crosby c5cdbc376f Merge pull request #7357 from crosbymichael/docker-ignore
Fix .dockerignore when ignoring unreadable dirs
2014-07-31 15:19:50 -07:00
Michael Crosby 8891e912b4 Return error for utils.Matches in archive
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-31 15:11:15 -07:00
Bruno Renié 27cca4c70c Fix .dockerignore when ignoring unreadable dirs
The initial `ValidateContextDirectory` implementation fails loudly when a file
lacks read permissions in the current context. However that situation is valid
if the file is included in the `.dockerignore` patterns.

Docker-DCO-1.1-Signed-off-by: Bruno Renié <brutasse@gmail.com> (github: brutasse)
2014-07-31 15:10:56 -07:00
Timothy Hobbs 4c282b979b Remove the restriction on multi-user PRs
This came up in #docker-dev today.  We're not sure exactly why the original restriction was put it place.  It is not well obeyed.  Please comment if you know the origin of the restriction.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: timthelion)
2014-07-31 22:05:29 +00:00
Solomon Hykes ceffc9ea1d Merge pull request #7152 from SvenDowideit/get-help-maintaining-softlayer-docs
MAINTAINERS: Get an extra pair of eyes on the Softlayer installation docs
2014-07-31 14:43:43 -07:00
Fred Lifton eccc44fad6 Merge pull request #7327 from ostezer/fix-articles-https
Docs: articles/https minor amendments and update
2014-07-31 14:33:56 -07:00
James Turnbull f77ae9b4f3 Merge pull request #7346 from proppy/patch-9
docs/google: bump container-vm image version
2014-07-31 17:22:01 -04:00
Tibor Vass 531f5907d6 Merge pull request #7324 from erikh/move_tarsum
Move tarsum to pkg/
2014-07-31 16:56:24 -04:00
Solomon Hykes 1f2d75774a Merge pull request #7091 from erikh/rfe
Update CONTRIBUTING.md with links to sections and `Proposal:` process.
2014-07-31 12:28:05 -07:00
Michael Crosby 54b287bbc8 Merge pull request #7343 from shykes/cleanup-main
Cleanup main function
2014-07-31 12:26:09 -07:00
Aaron Huslage 32fdcaa419 Merge pull request #7193 from hollietealok/doc_remove
Removed docker_io_oauth_api.md: Docker is not currently accepting regist...
2014-07-31 15:19:58 -04:00
Erik Hollensbe 52db7b8cb7 Update CONTRIBUTING.md with links to sections and RFE process.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-31 12:18:31 -07:00
Tianon Gravi 8ea7242250 Update TestEnvironment to explicitly set "HOME" to be empty so it gets autofilled
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-31 12:46:41 -06:00
Tianon Gravi f34d0e55f3 Remove pkg/user now that it's embedded in libcontainer
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-31 12:46:39 -06:00
Tianon Gravi 57b9467f45 Add support for autodetected HOME from USER (if HOME is unset)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-31 12:46:36 -06:00
Tianon Gravi f4db3985d9 Bump libcontainer dep
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-31 12:46:35 -06:00
James Turnbull b5ef212ec1 Merge pull request #7337 from rogaha/add_ga_universal_analytics_support
Added GA universal analytics support
2014-07-31 09:00:08 -04:00
Jan Toebes bfacdfdccf Update nodejs_web_app.md
Updated to documentation to use the centos6 image instead of the unofficial tutum image of centos6.4
2014-07-31 08:54:22 +02:00
Johan Euphrosine 294f33b37a docs/google: bump container-vm image version
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-30 22:50:05 -07:00
Tibor Vass bbca4867f8 Merge pull request #7338 from tianon/moar-dotcloud
Fix more instances of "dotcloud/docker" in hack/
2014-07-30 23:51:23 -04:00
Sven Dowideit 970ebaa887 Merge pull request #7328 from cpuguy83/fix_search_image_oldindex
Replace old index image with hub
2014-07-31 12:06:30 +10:00
Michael Crosby 65d316e50d Merge pull request #7340 from crosbymichael/tags-unit
Fix graph tags test on freebsd
2014-07-30 18:18:14 -07:00
Michael Crosby 6bc483fa59 Remove perm change in archive
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-30 18:06:48 -07:00
Kato Kazuyoshi 5ebe86ccf9 Fix graph/tags_unit_test.go on FreeBSD
- Directories should have u+x (0600 -> 0700)
- Don't chown files to root because we don't have to

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-07-30 18:06:19 -07:00
Michael Crosby 2970ba4877 Merge pull request #7325 from tiborvass/case-insensitive-attach
Make --attach case-insensitive
2014-07-30 17:10:16 -07:00
Tianon Gravi 3a14eb066c Fix more instances of "dotcloud/docker" in hack/ (and add a DOCKER_PKG environment variable to simplify references to our "package path" in our bundlescripts)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-30 17:02:04 -06:00
Roberto Gandolfo Hashioka e13b1fc05f Added GA universal analytics support
Docker-DCO-1.1-Signed-off-by: Roberto Hashioka <roberto.hashioka@docker.com> (github: rogaha)
2014-07-30 15:32:14 -07:00
unclejack 19c8e74fd3 Merge pull request #7100 from discordianfish/fix-port-allocation
Fix masked err in portmapper
2014-07-30 23:51:21 +03:00
unclejack 3100afa0e1 Merge pull request #7298 from erikh/fix_cli_restart_test
fix docker integration-cli restart test race
2014-07-30 23:29:39 +03:00
Tibor Vass a713413293 Make --attach case-insensitive
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-30 15:36:16 -04:00
Victor Vieux 8162c6eedd Merge pull request #7317 from erikh/server_split
Partition server/ by image, init, events, container, and "everything left"
2014-07-30 12:28:37 -07:00
Tibor Vass a0338ff04b Merge pull request #7331 from erikh/simplify_checksum
Simplify utils.CheckSum.Read to use TeeReader instead
2014-07-30 15:14:41 -04:00
Erik Hollensbe 74fdadc86c Partition server/ by image, init, events, container, and "everything left"
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-30 11:50:33 -07:00
Erik Hollensbe ef6b78f7db Remove CheckSum from utils; replace with a TeeReader
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-30 11:23:43 -07:00
unclejack c3045f563d Merge pull request #6962 from erikh/3349-cleanup-docker-socket
Clean up the docker socket on termination of the daemon.
2014-07-30 18:43:01 +03:00
Erik Hollensbe ff02bea883 utils.Debugf -> fmt.Printf
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-30 08:42:53 -07:00
Brian Goff ba57d3d9e6 Replace old index image with hub
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-07-30 11:15:18 -04:00
O.S. Tezer 711fb3e19d Docs: articles/https minor amendments and update
This commit proposes some minor amendments and updates
for the articles/https.md document to fix certain errors, inc.:

 - Marking commands / flags as code (e.g. `tlsverify`) [done before rebase]
 - Capitalising the word Docker
 - Normalizing headers to match the rest of the docs;
 - Expanding the page description to match the page title and the content;
 - Capitalizing HTTPS etc.;
 - Some spelling error fixes;
 - Line-length adjustments to make it easier to read the raw file.

It does not propose any fundemental changes to the structure of the document.
Certain changes were based before another update on this doc.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-07-30 18:09:58 +03:00
unclejack c18b38f912 Merge pull request #7215 from tiborvass/add-os-to-docker-info
Add OS to docker info
2014-07-30 18:02:45 +03:00
Tibor Vass b0fb0055d2 Add OS to docker info
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-30 10:37:52 -04:00
Solomon Hykes 63bd4ad9d6 Move "unpause" to daemon/pause.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 14:01:43 +00:00
Solomon Hykes 42a77de3d3 Move "pause" to daemon/pause.go
This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 14:01:40 +00:00
Erik Hollensbe 4184cccb0f move testdata to tarsum package.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-30 06:52:24 -07:00
Erik Hollensbe 1219e458d1 utils/tarsum* -> pkg/tarsum
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-30 06:42:12 -07:00
Timothy fae72c83be Apply @jamtur01's copy edit's to certificates.md
Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: timthelion)
2014-07-30 16:23:56 +03:00
Solomon Hykes 0af7b5f83d New job "log": logs a new event
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 11:20:33 +00:00
Solomon Hykes c2496d97cc Move Server.ContainerAttach to Daemon.ContainerAttach
This is part of an effort to break apart the legacy server package. Help wanted!

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 11:20:31 +00:00
Solomon Hykes 4949e070fb Move kernel version/capabilities detection to NewDaemon
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 09:26:51 +00:00
Solomon Hykes e92a9e0b53 Move canonical root path detection to NewDaemon
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 09:26:51 +00:00
Solomon Hykes a7d8c732b1 Move TMPDIR symlink cleanup to NewDaemon
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 09:26:51 +00:00
Solomon Hykes 419b9fe164 Check for OS and root privileges in NewDaemon
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-30 09:26:51 +00:00
Vishnu Kannan 3e1c1567ea Add a cli integration test for recursive bind mounting.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-07-30 02:23:24 +00:00
Vishnu Kannan d82bb603af Make lxc driver rbind all user specified mounts.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-07-30 02:23:24 +00:00
hollietealok 2b9d8248d6 Removed OAuth doc from mkdocs.yml
Docker-DCO-1.1-Signed-off-by: hollietealok <hollie@docker.com> (github: hollietealok)
2014-07-29 13:56:19 -07:00
Tibor Vass 403df1765a Merge pull request #7286 from erikh/parsers
Move parsing functions to parsers/ and the specific kernel handling...
2014-07-29 16:11:31 -04:00
Erik Hollensbe 4398108433 Move parsing functions to pkg/parsers and the specific kernel handling
functions to pkg/parsers/kernel, and parsing filters to
pkg/parsers/filter. Adjust imports and package references.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-29 13:09:10 -07:00
Tianon Gravi 335e82f3f7 Merge pull request #7311 from tianon/travis-old-go
Add Go 1.2 to Travis so we make sure we keep retrocompat for a little while
2014-07-29 13:48:24 -06:00
Tibor Vass 1063b438eb Merge pull request #7292 from erikh/buildfile_move
server/buildfile.go -> builder/builder.go
2014-07-29 15:38:42 -04:00
Victor Vieux 3bae02cbe3 Merge pull request #7272 from unclejack/create_httputils_pkg
move resumablerequestreader to pkg/httputils
2014-07-29 12:18:10 -07:00
Tianon Gravi 38bce17904 Add Go 1.2 to Travis so we make sure we keep retrocompat for a little while
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-29 13:07:59 -06:00
Erik Hollensbe 3a177ccd3a server/buildfile.go -> builder/builder.go; add maintainers file
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-29 11:35:02 -07:00
James Turnbull 475131cd4a Merge pull request #6877 from underscorephil/patch-1
Update softlayer.md
2014-07-29 13:20:55 -04:00
James Turnbull 4749b884fe Merge pull request #7256 from jstoja/docs-api-insert-image
Fixing docs - Insert api call
2014-07-29 13:19:22 -04:00
James Turnbull 900d54b48b Merge pull request #7269 from r0n22/patch-1
Update HTTP Proxy Section
2014-07-29 13:15:27 -04:00
unclejack c0517857f6 move resumablerequestreader to pkg
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-29 16:30:45 +03:00
unclejack 372f9bb58b integcli: use dockerCmdInDir in build tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-29 16:01:56 +03:00
unclejack f60c8e9e61 integcli: add some more docker utils
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-29 15:56:41 +03:00
Sven Dowideit 3369b4f6f0 Merge pull request #7280 from knappe/patch-1
Correct Typo In Documentation
2014-07-29 19:15:48 +10:00
Erik Hollensbe 5931669343 fix docker integration-cli restart test race
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-28 23:46:14 -07:00
Tianon Gravi fc637b5275 Standardize "apt-get install" usage across the repo
I might have missed some, but I think this is most of the offenders.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-28 17:41:59 -06:00
Victor Vieux ac3eecf3db Merge pull request #7062 from crosbymichael/fix-lxc-caps
Fix cap drop issues with lxc
2014-07-28 16:19:08 -07:00
knappe 331200cbaa Correct Typo In Documentation 2014-07-28 14:39:17 -06:00
Victor Vieux a0dad3dfb2 Merge pull request #7274 from vbatts/vbatts-gh7136
progress bar: don't strings.Repeat a negative number
2014-07-28 11:50:16 -07:00
Victor Vieux f906f31877 Merge pull request #7210 from fcarriedo/refactor-common-code
pkg/units: Refactor common code
2014-07-28 11:45:46 -07:00
Vincent Batts 704b97d1c4 jsonmessage: added test and cleaned up others
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-07-28 14:43:28 -04:00
Jan Toebes 2519872d77 Update nodejs_web_app.md
The image centos:centos6.4 doesn't exist. Instead you have to choose between the official centos6 or centos7. Both images does not work together with de yum npm install. When choosing an centos6.5 from another distributor (tutum) it works.
2014-07-28 20:43:24 +02:00
Tianon Gravi 5ef1126669 Merge pull request #6943 from tiborvass/parallel_compile_test
Parallel compile test binaries
2014-07-28 12:32:56 -06:00
Michael Crosby d09e682c46 Merge pull request #6520 from unclejack/bump_go_to_1.3
bump Go to 1.3
2014-07-28 11:06:43 -07:00
Tianon Gravi 380153f0d7 Merge pull request #7257 from seblu/master
Improve systemd units
2014-07-28 11:51:19 -06:00
Vincent Batts 77237be0e2 progress bar: don't strings.Repeat a negative number
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-07-28 12:01:43 -04:00
Tibor Vass 030676444a Merge pull request #7140 from proppy/more-addtar-tests
integration-cli: add more tests for BuildAddTar
2014-07-28 11:58:29 -04:00
Tibor Vass da40d9b7a5 Merge pull request #7209 from LK4D4/test_build_from_git
Test on building from GIT url
2014-07-28 11:15:50 -04:00
unclejack 7978b32127 Merge pull request #7097 from LK4D4/fix_eof_dockerignore_#7093
Skip whole dir dockerignoring with warning
2014-07-28 17:34:44 +03:00
r0n22 2095e22121 Update HTTP Proxy Section
Docker.service file location was missing the /usr dir.
2014-07-28 09:39:55 -04:00
Sébastien Luttringer 533916fa6b Systemd service should not restart on failure
This should not be done by default but used by adminsys with a drop-in.d file,
for buggy daemons which crash without known fixes.

Docker-DCO-1.1-Signed-off-by: Sébastien Luttringer <seblu@seblu.net> (github: seblu)
2014-07-28 11:50:24 +02:00
Sébastien Luttringer 0f26195a8d Systemd .service should install .socket
And remove the WantedBy directive.

See: https://bugs.archlinux.org/task/41338

Docker-DCO-1.1-Signed-off-by: Sébastien Luttringer <seblu@seblu.net> (github: seblu)
2014-07-28 00:18:14 +02:00
Sébastien Luttringer fe68df36fc Fix ordering in systemd service file
See: https://bugs.archlinux.org/task/41338

Docker-DCO-1.1-Signed-off-by: Sébastien Luttringer <seblu@seblu.net> (github: seblu)
2014-07-28 00:17:40 +02:00
Francisco Carriedo 81c7d28b84 pkg/units: Updated tests with unit constants
Also, now that I was at it, gave them a small refactor.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-26 20:00:18 -07:00
Francisco Carriedo c7a2e86b51 pkg/units: Unit constants directly int64
int64 seems sufficient

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-26 20:00:08 -07:00
unclejack d0a0e91f1f bump Go to 1.3
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-26 21:33:31 +03:00
Tibor Vass 4cfe806db2 Kill all concurrent jobs on error
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-26 13:45:35 -04:00
Tianon Gravi 0a7cd70924 Fix precompiled unit tests needing their "testdata" contents
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-26 11:46:52 -04:00
Tibor Vass 81e78db507 remove temporary line in Dockerfile that prevented cache miss
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-26 11:46:52 -04:00
Tianon Gravi a6085fd430 Add a bunch more tweaks to the parallel test compilation
- put all the precompiled test binaries in $DEST so they show up in bundles and can be re-run individually afterwards
- support cases where parallel is not installed (when using dyntest-unit, for example, this is much more common, since it's designed to be run outside the Dockerfile)
- use "mktemp -d" instead of "/tmp" directly for our temporary parallel HOME
- update the default PARALLEL_JOBS to be the value of "nproc" instead of 0, since "0 means as many as possible" (see https://www.gnu.org/software/parallel/man.html#jobs_n)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-26 11:46:36 -04:00
Tibor Vass 3a1385702c benign whitespace change
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-26 11:46:36 -04:00
Tibor Vass 158e3068bd compile unit tests in parallel with GNU parallel
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-26 11:46:36 -04:00
Julien Bordellier 2d84b877bd Adding the query parameters to insert api call for all <= 1.10 and
removing the insert documentation for > 1.10 since it has been removed
in 1.11. This commit fixes #7183
Docker-DCO-1.1-Signed-off-by: Julien Bordellier <me@julienbordellier.com> (github: jstoja)
2014-07-26 13:03:04 +02:00
Erik Hollensbe 96f1a99034 Clean up the docker socket on termination of the daemon.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-07-25 17:45:49 -07:00
Victor Vieux 487a417d9f Merge pull request #7251 from tiborvass/fix-test-import-display
Fix test import display
2014-07-25 17:34:09 -07:00
James Turnbull 1d21f75fa4 Merge pull request #7238 from dericcrago/patch-1
apache2 was looking for two other directories
2014-07-25 19:38:47 -04:00
Tibor Vass caa5769928 Fix io.Reader ambiguity on EOF in progressreader
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-25 19:26:27 -04:00
Sven Dowideit dacf909870 Merge pull request #7244 from anweiss/7243-dscarticle
Updated DSC article to reflect changes in config
2014-07-26 08:43:22 +10:00
Tibor Vass d082381a93 address a few nits
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-25 18:29:47 -04:00
Michael Crosby ec5b97ce9b Merge pull request #7166 from unclejack/maintainer_archive
archive: add unclejack to MAINTAINERS
2014-07-25 13:44:49 -07:00
Andrew Weiss 7a5db6df99 updated article to reflect changes in config; fixed hyperlinks #7243
Docker-DCO-1.1-Signed-off-by: Andrew Weiss <andrew.weiss@outlook.com> (github: anweiss)
2014-07-25 15:49:33 -04:00
unclejack 7dde97640f Merge pull request #7231 from vieux/allow_stack_trace
allow sigquit to display stacktrace in debug mode
2014-07-25 21:34:25 +03:00
Tianon Gravi 7756bcc7ab Merge pull request #7227 from tianon/generate-authors
Add new script to generate AUTHORS and regenerate AUTHORS (fixing a few new dups too)
2014-07-25 12:31:47 -06:00
James Turnbull c028bb239f Merge pull request #7234 from michielbdejong/patch-1
Typo in dockervolumes.md line 141?
2014-07-25 13:14:50 -04:00
fcarriedo 2fb63aba0b pkg/units: including suggestions and enhancements
Docker-DCO-1.1-Signed-off-by: fcarriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-25 09:33:04 -07:00
Johannes 'fish' Ziemke 32bc865879 Make sure err never gets masked
Defining err as named return parameter will make sure the variable gets
assigned before returning and thus avoid masking

Docker-DCO-1.1-Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org> (github: discordianfish)
2014-07-25 17:00:41 +02:00
Deric Crago 3fb913ab77 apache2 was looking for two other directories
/var/lock/apache2
/var/run/apache2
2014-07-25 10:14:52 -04:00
Michiel@unhosted 9503afbc91 Typo in dockervolumes.md line 141? 2014-07-25 09:06:38 +02:00
Sven Dowideit ff28b0b919 Merge pull request #7185 from thaJeztah/patch-1
Fix incorrect path in ENTRYPOINT example
2014-07-25 17:06:29 +10:00
Victor Vieux 5b293f1596 allow sigquit to display stacktrace in debug mode
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-25 01:08:04 +00:00
Victor Vieux 228c6a374b Merge pull request #7225 from vieux/update_path
update go import path and libcontainer
2014-07-24 17:22:21 -07:00
unclejack 4fbc47e801 archive: add unclejack to MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-25 02:07:40 +03:00
Tianon Gravi 771ed23915 Add new script to generate AUTHORS and regenerate AUTHORS (fixing a few new dups too)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-24 16:49:39 -06:00
Victor Vieux 1082246262 revert AUTHORS changes
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-24 22:30:05 +00:00
Victor Vieux 5a0ef08c94 gofmt -s -w
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-24 22:25:29 +00:00
Victor Vieux b3ee9ac74e update go import path and libcontainer
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-24 22:19:50 +00:00
fcarriedo c765134ac9 pkg/units: Updated Compile() to MustCompile()
We were doing exactly what `regexp.MustCompile()` already does.

Docker-DCO-1.1-Signed-off-by: fcarriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-24 13:19:20 -07:00
Victor Vieux 2481e08e41 Merge pull request #7212 from mheon/kill_zero
Properly handle 0 being passed as a signal number
2014-07-24 11:42:16 -07:00
hollietealok 97283fa985 Merge remote-tracking branch 'upstream/master' into doc_remove
Docker-DCO-1.1-Signed-off-by: hollietealok <hollie@docker.com> (github: hollietealok)
2014-07-24 11:28:19 -07:00
James Turnbull 7365225957 Added proposed Docker Community Guidelines
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-24 11:04:58 -07:00
Michael Crosby 2ed10eae5b Merge pull request #7179 from LK4D4/add_cap_audit_write_#6345
Add AUDIT_WRITE cap
2014-07-24 10:02:44 -07:00
Matthew Heon be326b0ece Properly handle 0 being passed as a signal
Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-07-24 11:06:20 -04:00
James Turnbull 0758acfb03 Merge pull request #7199 from ipbabble/mp-changes
Fixed some typos for '--' Vs '-' in docker-run-1.md
2014-07-24 06:51:56 -07:00
Sebastiaan van Stijn 2819d9b406 Fix incorrect path in ENTRYPOINT example
The ENTRYPOINT example uses "/usr/bin/ls" as path, but `ls` is located at `/bin/ls`.

Docker-DCO-1.1-Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (github: thaJeztah)
2014-07-24 14:48:23 +02:00
Alexandr Morozov 5b0d4cf296 Test on building from GIT url
Also I added fake git server to utils
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-24 11:19:16 +04:00
Francisco Carriedo 386d300a6e pkg/units: Refactored common code to single func
Both functions perform the same logic and they just vary on the base
multiplication units. We can refactor the common code into a single
place.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-24 00:03:59 -07:00
Francisco Carriedo e4ab996b9d pkg/units: Moved 'units' out of function
No need to initialize every time the function executes since it works as
a catalog.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-24 00:03:59 -07:00
Francisco Carriedo d512294382 pkg/units: Compacted var declaration and initialization
No need to have two lines. The type is even explicit when type casting
to `float64(size)`

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-24 00:03:40 -07:00
Francisco Carriedo a4d57d8a85 pkg/units: Refactor regexp.Compile to init()
No need to recompile a fixed regular expression each time the function
executes. Abstracting it to the `init()` method.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-23 23:45:03 -07:00
Francisco Carriedo 0fd37bd7ac pkg/units: Standardized supported sizes
May make sense that both `FromHumanSize()` and `RAMInBytes()` support
the same units. Added 'PB' to the RAMInBytes regex.

Also updated tests.

Note: int64 is overflowed on quantities >= EB

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-23 23:37:06 -07:00
Tianon Gravi 9380e8cbe7 Merge pull request #7148 from tianon/buildtags-docs
Reorganize and clarify the DOCKER_BUILDTAGS docs
2014-07-23 22:27:07 -06:00
Francisco Carriedo 03697f0a93 pkg/units: Using 'case' instead of trickled ifs
Seems the perfect case for 'case' ;).

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-23 20:38:36 -07:00
Sven Dowideit bb6217c055 Merge pull request #7181 from timruffles/patch-3
[DOCS] replace foo/bar with concrete names
2014-07-24 12:26:10 +10:00
Victor Vieux 6b65e8817c Merge pull request #7108 from unclejack/archive_speedup
speed up archive
2014-07-23 16:54:35 -07:00
William Henry 1403372963 Typo changes to docker-run-1.md - changing '-' to '--' where approp.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)
2014-07-23 16:49:07 -04:00
Vincent Batts 683038bf57 Merge pull request #6727 from unclejack/improve_bytes_range
Improve layer downloading
2014-07-23 15:31:25 -04:00
hollietealok 9fbae59244 Removed docker_io_oauth_api.md: Docker is not currently accepting registrations for third party auth while it's determined how this will be done, if at all, in the future.
Docker-DCO-1.1-Signed-off-by: hollietealok <hollie@docker.com> (github: hollietealok)
2014-07-23 11:55:56 -07:00
Michael Crosby 92cba0845c Merge pull request #7170 from unclejack/fix_testinspectlinksstopped
integcli: fix TestInspectLinksStopped with Go1.3
2014-07-23 11:19:11 -07:00
Michael Crosby c71edef8d5 Merge pull request #7190 from vieux/merge_release_v1.1.2
Change version to 1.1.2-dev
2014-07-23 11:16:18 -07:00
Victor Vieux 56bb7ce780 Change version to 1.1.2-dev
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-23 18:09:02 +00:00
Michael Crosby 604a975303 Merge pull request #7164 from fcarriedo/not-error-as-var-name
pkg/units: Better to not use `error` as var name
2014-07-23 11:04:03 -07:00
Victor Vieux 1df87acb33 Merge pull request #7172 from vieux/bump_v1.1.2
Bump v1.1.2
2014-07-23 11:02:29 -07:00
James Turnbull b9024174be Merge pull request #7180 from rhuss/patch-1
Fixed parent-child relationship description
2014-07-23 10:17:19 -07:00
Fred Lifton be3aa1eba0 Merge pull request #7176 from SvenDowideit/auto-update-master-cli-docs
user facing documentation changes in master atm
2014-07-23 10:15:02 -07:00
Tim Ruffles 455e837e20 [DOCS] replace foo/bar with concrete names
namespaces are not well documented, and I had to jump around to other docs. replacing `foo/bar` hopefully makes what's going on here a bit more obvious.

Docker-DCO-1.1-Signed-off-by: Tim Ruffles <timruffles@gmail.com> (github: timruffles)
2014-07-23 15:21:16 +01:00
Roland Huß 0a4b39b6a4 Fixed parent-child relationship description
"db" is the parent image, and "web" links to it as the child image. There was a typo in the document which reversed the relation.
2014-07-23 10:23:14 +02:00
Alexandr Morozov 29ecc95c31 Add AUDIT_WRITE cap
Fixes #6345

Thanks @larsks for outstanding investigation

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-23 09:57:41 +04:00
SvenDowideit 5743cc3423 user facing documentation changes in master atm
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-23 12:40:10 +10:00
Victor Vieux d84a070e47 Bump version to v1.1.2
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-23 00:29:56 +00:00
Michael Crosby 4e12484ea1 Copy values out of hostConfig
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
2014-07-23 00:20:11 +00:00
Michael Crosby 2c185e25c2 Always mark as stopped for non running containers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
2014-07-23 00:20:04 +00:00
Tianon Gravi 21341e9e13 Add a conditional to contrib/init/sysvinit-debian/docker for Dash vs Bash support
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)

Docker-DCO-1.1-Signed-off-by: Tianon Gravi <admwiggin@gmail.com> (github: vieux)
2014-07-23 00:19:24 +00:00
Alexandr Morozov 699bc47137 Set state running before dumping to disk
Fixes #4766
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)

Conflicts:
	daemon/container.go

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: vieux)
2014-07-23 00:18:41 +00:00
Michael Crosby 885cda1ae2 Merge pull request #7167 from unclejack/maintainer_truncindex
pkg/truncindex: add unclejack to MAINTAINERS
2014-07-22 17:10:38 -07:00
Victor Vieux 9e1a9a7d98 Merge pull request #7163 from crosbymichael/fix-port-mapping-on-restart
Always mark as stopped for non running containers
2014-07-22 16:55:46 -07:00
Sven Dowideit 2f23e204d9 Merge pull request #7151 from SvenDowideit/add-version-selection-ux
Add version selection ux to the Documentation.
2014-07-23 09:21:55 +10:00
Francisco Carriedo ea7b8ea03f pkg/units: Better to not use error as var name
Better to not use `error` as var name (might eclipse the error type) for
clarity and to prevent subtle bugs.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-22 15:39:59 -07:00
unclejack d0cbc54f23 integcli: fix TestInspectLinksStopped with Go1.3
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-23 01:15:29 +03:00
Tianon Gravi a491d204a0 Merge pull request #7157 from tianon/check-config-apparmor_parser
Add "apparmor_parser" warning to check-config.sh
2014-07-22 15:38:08 -06:00
Victor Vieux 314bf61889 Merge pull request #7165 from fcarriedo/remove-named-returns
pkg/units: Remove unused named returns
2014-07-22 14:37:49 -07:00
Sven Dowideit 0d118ffbf8 Merge pull request #7169 from fredlf/update_osx-install
Initial revisions to b2d doc, new screenshots.
2014-07-23 07:34:06 +10:00
Fred Lifton 4002b4623c Initial revisions to b2d doc, new screenshots.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Final revisions to B2D doc.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-22 13:14:42 -07:00
unclejack 7407664c66 pkg/truncindex: add unclejack to MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-22 23:08:28 +03:00
Francisco Carriedo 588090c49b pkg/units: Remove unused named returns
Remove named returns since not used in function body.  Might prevent
potential subtle bugs.

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-22 12:16:50 -07:00
Victor Vieux c838a4be29 Merge pull request #7162 from nathanleclaire/tar-with-options-err-check
Add missing error check
2014-07-22 11:37:21 -07:00
Victor Vieux ceddf4c0e8 Merge pull request #7160 from fcarriedo/7159-test-coverage
pkg/units: Increased test coverage
2014-07-22 11:27:46 -07:00
Nathan LeClaire a1c5f268e5 Add missing error check
Docker-DCO-1.1-Signed-off-by: Nathan LeClaire <nathan.leclaire@docker.com> (github: nathanleclaire)
2014-07-22 10:41:58 -07:00
Francisco Carriedo c47ab1425f pkg/units: Increased test coverage. Closes #7159.
Increased coverage:

  * Added test cases to size_test.go
  * Added coverage for duration.go

Docker-DCO-1.1-Signed-off-by: Francisco Carriedo <fcarriedo@gmail.com> (github: fcarriedo)
2014-07-22 09:56:58 -07:00
Tianon Gravi 75ba7a9b32 Add "apparmor_parser" warning to check-config.sh
If AppArmor is enabled on the current system, but "apparmor_parser" isn't installed, it causes all kinds of issues.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-22 10:34:28 -06:00
Phil f1e072c8d5 Updating to reflect changes in the SoftLayer portal and product naming conventions.
Docker-DCO-1.1-Signed-off-by: Phil Jackson <underscorephil@gmail.com> (github: underscorephil)
2014-07-22 10:39:40 -05:00
SvenDowideit 29f1ed833c Get an extra pair of eyes on the Softlayer installation docs
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-22 20:25:21 +10:00
SvenDowideit 4d109f6158 avoid publishing to the root unless specified, so old version releases only goto their own dir
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-22 19:05:18 +10:00
SvenDowideit 3472c006c4 Add more details so I have more of an over-view of what I need to
automate

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-22 18:04:48 +10:00
SvenDowideit 3853a9c612 the build cache is too agressive, and I am regularly getting builds using an old version - forcing the issue
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-22 17:21:03 +10:00
Michael Crosby ddb2086ca9 Copy values out of hostConfig
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-22 00:16:26 -07:00
Tianon Gravi 1b31a80eb7 Reorganize and clarify the DOCKER_BUILDTAGS docs
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-21 22:00:26 -06:00
Michael Crosby a091d949ac Always mark as stopped for non running containers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-21 19:59:44 -07:00
Sven Dowideit 9dc82e6102 Merge pull request #7134 from MidnightDesign/patch-1
Fix a typo in the tutorial
2014-07-22 12:00:06 +10:00
Sven Dowideit 1cc55fda3d Merge pull request #7112 from proppy/patch-8
docs/installation/google: update gcloud options
2014-07-22 11:22:08 +10:00
Sven Dowideit 324010ad66 Merge pull request #7030 from runvnc/patch-1
Better example for data container
2014-07-22 10:49:27 +10:00
Sven Dowideit 8f75de2d4e Merge pull request #6569 from bcexelbi/rhel-install-update
Updated Red Hat Enterprise Linux installation instructions for version 7
2014-07-22 10:30:18 +10:00
Victor Vieux 1473374a2a Merge pull request #7078 from unclejack/fix_archive_tar_pax_headers
archive/tar: update to fix writing of PAX headers
2014-07-21 17:26:41 -07:00
Michael Crosby b7ff33f73c Merge pull request #7146 from dmp42/master
Joining registry maintainers
2014-07-21 17:02:52 -07:00
Olivier Gambier ebc05cbbea Joining registry maintainers
Docker-DCO-1.1-Signed-off-by: Olivier Gambier <olivier@docker.com> (github: dmp42)
2014-07-22 01:50:32 +02:00
Johan Euphrosine 5d8e80ba8d integration-cli/TestBuildAddTar: embed Dockerfile
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-21 15:02:31 -07:00
Victor Vieux d0e2d9ec39 Merge pull request #6976 from vbatts/vbatts-early_daemon_pidfile
docker daemon: initialize the daemon pidfile early
2014-07-21 14:26:14 -07:00
Fred Lifton 61b675d3bb Merge pull request #7104 from mheon/sigproxy_docs
Update docs on --sig-proxy
2014-07-21 13:42:41 -07:00
unclejack 76429cc11f archive: add a benchmark for TarUntar
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-21 23:20:32 +03:00
unclejack a377844998 archive: add buffers to operations with tarballs
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-21 23:20:21 +03:00
Johan Euphrosine 24c00c8508 integration-cli/TestBuildAddTar: generate context from test
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-21 13:03:00 -07:00
Aaron Huslage d8a76a02dc Merge pull request #6996 from soulshake/patch-1
Update https.md
2014-07-21 12:22:59 -07:00
soulshake 319a8a241e Resolve merge conflict, attempt 3
Docker-DCO-1.1-Signed-off-by: AJ Bowen <aj@gandi.net> (github: soulshake)
2014-07-21 12:18:59 -07:00
Vincent Batts b752e7402a Merge pull request #7050 from Aigeruth/fix/push_image_layer_registry_content_type
Add Content-Type header in PushImageLayerRegistry
2014-07-21 15:07:01 -04:00
Michael Crosby 86f20e561f Merge pull request #7061 from muchweb/rms
Can't believe you forgot RMS
2014-07-21 12:02:45 -07:00
Johan Euphrosine 30519330c7 integration-cli: add more tests for BuildAddTar
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-21 11:56:49 -07:00
Michael Crosby 6dd8eb9520 Merge pull request #7090 from philips/add-philips-to-systemd-maintainers
contrib/init/systemd: add philips as MAINTAINER
2014-07-21 11:41:38 -07:00
Michael Crosby e4c79736bf Merge pull request #7122 from LK4D4/move_some_run_tests_to_cli
Move some run tests to cli
2014-07-21 11:25:36 -07:00
Johan Euphrosine e1bb99d925 docs/installation/google: update gcloud options
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-21 10:55:12 -07:00
Tianon Gravi ed92c3f964 Merge pull request #7124 from tianon/travis-compile
Adjust Travis to also compile, to test that compilation still succeeds
2014-07-21 11:38:15 -06:00
Michael Crosby 12ee68aabe Merge pull request #7116 from timthelion/relativevolumeerror
Give context for the error that occures when you try to bind mount a vol...
2014-07-21 10:22:35 -07:00
unclejack c47ebe7a35 get layer: remove HEAD req & pass down response
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-21 20:21:18 +03:00
unclejack f033ce3ee9 resumablerequestreader: allow initial response
Make it possible to inspect an initial response and pass it to
ResumableRequestReader. This makes it possible to inspect an initial
response and passing it to ResumableRequestReader to avoid making an
extra request.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-21 19:54:25 +03:00
Rudolph Gottesheim 9ff7bbe0ac Fix a typo in the tutorial 2014-07-21 10:34:54 +02:00
Sven Dowideit 8365abb200 Merge pull request #7131 from msabramo/patch-1
Fix minor grammar issues in dockervolumes.md
2014-07-21 16:09:41 +10:00
SvenDowideit 5cd0f0824d dynamically load a /versions.html_fragment file so that all old versions get the complete dropdown list of versions to select
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-21 15:51:14 +10:00
SvenDowideit c550ad5900 The UX spec
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-21 12:39:48 +10:00
SvenDowideit 8a4b79ca50 initial work to make a mockup
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-21 12:39:48 +10:00
Marc Abramowitz 4ac6375790 Fix minor grammar issues in dockervolumes.md 2014-07-20 17:05:37 -07:00
Sven Dowideit e60543400d Merge pull request #7117 from hipertracker/patch-1
Update dockerlinks.md
2014-07-21 09:43:23 +10:00
Tianon Gravi 3cff015169 Adjust Travis to also compile, to test that compilation still succeeds
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-19 12:12:27 -06:00
James Turnbull f39e0567b6 Merge pull request #7114 from bfirsh/remove-blank-use-doc
Remove blank "use" documentation
2014-07-19 03:09:47 -07:00
LK4D4 e88487b321 Move TestCopyVolumeContent to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-19 12:42:27 +04:00
LK4D4 9a7c5be7d1 Move TestCopyVolumeUidGid to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-19 12:42:27 +04:00
Tibor Vass ac6ec9df1d Merge pull request #6913 from unclejack/map_randomization_fixes
integcli: fix failures caused by tiny map randomization
2014-07-19 00:27:37 -05:00
Jaroslaw Zabiello a781de0c10 Update dockerlinks.md
Added missing command for logging into web container.
2014-07-19 05:38:11 +01:00
Timothy 7aed2130f9 Give context for the error that occures when you try to bind mount a volume with a relative path
Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: timthelion)
2014-07-19 04:12:16 +00:00
Ben Firshman b82778b293 Remove blank "use" documentation
Introduced in dotcloud/docker#3070

Docker-DCO-1.1-Signed-off-by: Ben Firshman <ben@firshman.co.uk> (github: bfirsh)
2014-07-18 18:45:20 -07:00
Victor Vieux ccbaf4bc6e Merge pull request #7109 from crosbymichael/update-libcontainer-july4
Update libcontainer to cf45d141db69ce11dcccac178e5
2014-07-18 18:40:34 -07:00
Solomon Hykes 93a7c84b6f Merge pull request #7043 from ipbabble/404NotFound 2014-07-18 18:39:42 -07:00
Solomon Hykes c7bc929e01 Merge pull request #3070 from alexlarsson/certificates 2014-07-18 18:27:00 -07:00
Sven Dowideit 82675ee359 Merge pull request #7107 from bkochendorfer/patch-1
Update runmetrics.md
2014-07-19 00:13:06 +00:00
Michael Crosby 1b9b11db4f Update libcontainer to cf45d141db69ce11dcccac178e5
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-18 15:31:25 -07:00
Tianon Gravi 7ee8fd5ecf Merge pull request #6933 from ztombol/feat-mkimage-arch-expect
Fix expect script in mkimage-arch
2014-07-18 15:47:18 -06:00
Victor Vieux e52382292f Merge pull request #7098 from fabiofalci/move_ps_tests_to_cli
Move `docker ps` test to integration cli
2014-07-18 14:29:40 -07:00
Brett Kochendorfer 95caf8c485 Update runmetrics.md 2014-07-18 16:16:19 -05:00
Victor Vieux 9b3c0e65da Merge pull request #7106 from vieux/logout
Add logout command
2014-07-18 14:13:59 -07:00
Tianon Gravi 9870a2bcae Merge pull request #7077 from tianon/fix-ubuntu-systemd
Fix hack/make/ubuntu to install both docker.service and docker.socket
2014-07-18 14:13:04 -06:00
unclejack 1646e5d69a Merge pull request #7069 from crosbymichael/update-libcontainer-july3
Update libcontainer to be85764f109c3f0f62cd2a5c8be
2014-07-18 22:34:22 +03:00
Victor Vieux 615f211084 Merge pull request #7079 from LK4D4/state_tests
Tests on container state changing
2014-07-18 11:21:23 -07:00
Victor Vieux 56a39ca5d3 update style
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-18 17:52:24 +00:00
Alexandr Morozov 4162309d11 Tests on container state changing
It could catch error that was fixed in #6954
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-18 21:51:55 +04:00
Daniel, Dao Quang Minh 4b5b3b4321 fix doc references
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-07-18 17:45:25 +00:00
Daniel, Dao Quang Minh 06bc4e0752 Add logout command
"docker logout [SERVER]" will remove the registry server' credentials from
.dockercfg file. If a server is not specified, it will log user out of the
default docker registry server

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-07-18 17:42:49 +00:00
Jason Livesay 8273cb4b9b Improve data volume container example.
Docker-DCO-1.1-Signed-off-by: Jason Livesay <ithkuil@gmail.com> (github: runvnc)
2014-07-18 10:22:15 -07:00
Fred Lifton 36608696e1 Merge pull request #6984 from jameskyle/6937-allow-setting-of-docker-config-directory
Closes 6937. Allows setting of docker config dir.
2014-07-18 09:51:50 -07:00
Matthew Heon 31351d08a3 Update docs on --sig-proxy to indicate that SIGKILL and SIGSTOP cannot be proxied
Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-07-18 12:32:04 -04:00
Fabio Falci 261dc5e2f6 Move docker ps test to integration cli
Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-07-18 09:43:40 +01:00
Brian (bex) Exelbierd 204e080932 Updated Red Hat Enterprise Linux installation instructions for version 7
Docker-DCO-1.1-Signed-off-by: Brian Exelbierd <bex@pobox.com> (github: bcexelbi)
2014-07-18 08:08:27 +02:00
Alexandr Morozov 7d97a5f476 Skip whole dir dockerignoring with warning
Fixes #7093
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-18 09:35:54 +04:00
Sven Dowideit c11660169a Merge pull request #7094 from fredlf/update_docker-hub
New screenshots and a few small edits.
2014-07-18 02:36:33 +00:00
Victor Vieux 5948b105e7 Merge pull request #7083 from mheon/6983_bugfix
Fix Panic with -t and -a stderr
2014-07-17 18:41:24 -07:00
Sven Dowideit 7a5ddd5df8 Merge pull request #7082 from bdevloed/patch-1
Update usingdocker.md
2014-07-18 01:26:15 +00:00
Sven Dowideit 9f036fc6ee Merge pull request #7068 from fredlf/add_image-tag
Added info re: image[:tag] to make docs consistent.
2014-07-18 00:03:57 +00:00
Fred Lifton c92e13f678 New screenshots and a few small edits.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-17 16:41:50 -07:00
unclejack 68bb56a4a5 integcli: fix map randomization failures
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-17 23:11:45 +03:00
unclejack e5e8669c72 integcli: add JSON utils for testing
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-17 23:11:40 +03:00
Brandon Philips 8130768014 contrib/init/systemd: add philips as MAINTAINER
As requested after #7021 add me as a maintainer alongside the sword
toting @lsm5.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-07-17 11:57:16 -07:00
Tibor Vass ae37f2b88f Merge pull request #7072 from SvenDowideit/remove-infrastructure-dir
this info is out of date and forgotten
2014-07-17 14:39:14 -04:00
Fred Lifton ca015b8885 Merge pull request #7027 from SvenDowideit/use-a-hello-world-micro-image
Tianon made a micro-image (sub one meg?) that we can use as a very fast ...
2014-07-17 11:31:54 -07:00
Tianon Gravi ee7313472c Merge pull request #7088 from vincentbernat/fix/zsh-completion-update
Update zsh completion for docker command with upstream (felixr/docker-zsh-completion) latest
2014-07-17 12:05:23 -06:00
Vincent Bernat 67e3f7482f zsh: update zsh completion for docker command
zsh completion is updated with the content of
felixr/docker-zsh-completion.

Docker-DCO-1.1-Signed-off-by: Vincent Bernat <vincent@bernat.im> (github: vincentbernat)
2014-07-17 19:50:50 +02:00
Matthew Heon 1476f295ac Bugfix: only use io.Copy in hijack if attaching both stdout and stderr
Add regression tests to ensure issue is fixed.

Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-07-17 13:47:33 -04:00
unclejack dca52c47a4 Merge pull request #7055 from coheyxyz/break-loop
Break loop correctly
2014-07-17 18:20:12 +03:00
bdevloed f9b3147e2c Update usingdocker.md
Change --help example command to match output in docs
2014-07-17 14:44:18 +02:00
Kohei Tsuruta ffe885ec0e Change switch to if so that the break statements correctly breaks loop
Docker-DCO-1.1-Signed-off-by: Kohei Tsuruta <coheyxyz@gmail.com> (github: coheyxyz)
2014-07-17 20:27:29 +09:00
James Turnbull 4ae27be2cd Merge pull request #7049 from albers/default-option
removed default --rm option from example build command
2014-07-17 04:52:16 -04:00
unclejack f565862abc archive/tar: update to fix writing of PAX headers
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-17 08:54:26 +03:00
Tianon Gravi ff08357c9b Fix hack/make/ubuntu to install both docker.service and docker.socket
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-16 23:03:32 -06:00
Tianon Gravi 07f9d48696 Merge pull request #7021 from lsm5/systemd-maintainer
Add systemd MAINTAINERS file and update docker.service to always use socket activation
2014-07-16 23:01:37 -06:00
SvenDowideit ade6d780d6 this info is out of date and forgotten
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-17 12:04:52 +10:00
Sven Dowideit 6ae07e2410 Tianon made a micro-image (sub one meg?) that we can use as a very fast to download 'yes, your docker can download and run an image' test
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-17 11:54:35 +10:00
Michael Crosby 7a8ea91392 Fix cross compile non cgo and linux systems
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 16:57:49 -07:00
Michael Crosby 0d67b420b5 Make tty term exec driver specific
lxc is special in that we cannot create the master outside of the
container without opening the slave because we have nothing to provide to the
cmd.  We have to open both then do the crazy setup on command right now instead of
passing the console path to lxc and telling it to open up that console.  we save a couple of
openfiles in the native driver because we can do this.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 16:57:49 -07:00
Michael Crosby 1501c342d8 Don't create pty slave in the daemon for native driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 16:57:19 -07:00
Michael Crosby 9fc6058aa1 Update libcontainer to be85764f109c3f0f62cd2a5c8be
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 16:57:19 -07:00
Fred Lifton 41d6ab6318 Added info re: image[:tag] to make docs consistent. Fixed a markdown issue.
Closes issue #6833

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-16 16:39:44 -07:00
Victor Vieux 6cd1061a5b Merge pull request #7066 from unclejack/disallow_links_with_nethost
don't allow links to be used with --net=host
2014-07-16 16:21:13 -07:00
Victor Vieux 6d238c6fba Merge pull request #6797 from zhgwenming/master
make /.dockerinit bind mount driver specific
2014-07-16 16:01:43 -07:00
s-ko b0e9d370c2 Removed :neckbeard: RMS test case
Docker-DCO-1.1-Signed-off-by: Aleksandrs Fadins <aleks@s-ko.net> (github: muchweb)
2014-07-16 23:22:21 +01:00
Tianon Gravi f84bcc6bd0 Merge pull request #7064 from tianon/debootstrap-gzipindexes
Add "Acquire::GzipIndexes" to contrib/mkimage/debootstrap
2014-07-16 15:50:54 -06:00
s-ko 352909dd54 Added :neckbeard: RMS the founder of 🐃 GNU and 🆓 as in :free:dom software
Docker-DCO-1.1-Signed-off-by: Aleksandrs Fadins <aleks@s-ko.net> (github: muchweb)
2014-07-16 22:45:08 +01:00
unclejack be8cea9856 don't allow links to be used with --net=host
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-17 00:32:24 +03:00
Tianon Gravi 2e61e8267e Add "Acquire::GzipIndexes" to contrib/mkimage/debootstrap
This results in a dramatic improvement in the size of individual "apt-get update" layers (on a clean wheezy base, from "29.88 MB" down to "8.273 MB").

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-16 14:58:02 -06:00
Michael Crosby 50b580cfec Use : to split caps in sysinit flags
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 13:40:10 -07:00
Victor Vieux dae6af1d1c Merge pull request #7060 from crosbymichael/case-insensitive-caps
Allow case insensitive caps for add and drop
2014-07-16 12:34:59 -07:00
Michael Crosby 47917135da Fix cap drop issues with lxc
This uses "," instead of spaces so that the flags are parsed correctly
and also does not do a strings.Split on an empty string because
strings.Split will return a slice with one element, and empty string
causing parsing to fail when it validates that the cap exists.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 12:14:26 -07:00
Michael Crosby 7c19499c63 Allow case insensitive caps for add and drop
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-16 11:47:55 -07:00
Victor Vieux 905ae7bb28 Merge pull request #7045 from SvenDowideit/pr_out_re_write_to_put_the_emphasis_on_the_format
re-write to put the emphasis on the  format
2014-07-16 11:47:05 -07:00
Michael Crosby 5702029a0f Merge pull request #6954 from LK4D4/fix_container_run_after_restart_#4766
Set state running before dumping to disk
2014-07-16 11:35:14 -07:00
Michael Crosby 1583e7af41 Merge pull request #6991 from bobrik/empty-dockerignore
Skipping empty lines in .dockerignore
2014-07-16 10:46:38 -07:00
Gabor Nagy f861bfd9ff Add Content-Type header in PushImageLayerRegistry
Docker-DCO-1.1-Signed-off-by: Gabor Nagy <mail@aigeruth.hu> (github: Aigeruth)
2014-07-16 12:23:25 +02:00
Harald Albers c5f55a233d removed default --rm option from example build command
this line gave the false impression that containers are not removed
unless you specify the --rm argument.
2014-07-16 11:18:08 +02:00
Sven Dowideit 3b3f0fa085 Merge pull request #6601 from SvenDowideit/6510-docker-pause-docs
6510 docker pause docs
2014-07-16 03:30:49 +00:00
Sven Dowideit 8175c666a3 Merge pull request #7046 from SvenDowideit/pr_out_update_debian_md
Update debian.md
2014-07-16 01:47:25 +00:00
SvenDowideit fa5bce2859 the package now adds the bash_completion too
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-16 11:46:18 +10:00
Sven Dowideit 4eaacb6b88 Merge pull request #7044 from proppy/patch-7
docs/google: bump container-vm image version
2014-07-16 01:07:23 +00:00
SvenDowideit ed8b017ee0 re-write to put the emphasis on the format
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-16 11:02:44 +10:00
Johan Euphrosine c6197058a8 docs/google: bump container-vm image version
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-15 17:41:59 -07:00
William Henry b45e8fa945 Change HTTP code: 404 to a more user friendly Image Not found msg
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)
2014-07-15 18:17:41 -06:00
SvenDowideit 58955a30ff re-jig the info into all the places
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-16 09:42:46 +10:00
Brian Goff 3957d72f9c Add cgroups freezer info
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: SvenDowideit)
2014-07-16 09:42:46 +10:00
Sven Dowideit 5b8a6eb05f Add cli.md documentation for docker-pause and docker-unpause
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-16 09:42:46 +10:00
Victor Vieux 01d1615001 missing doc for 6896
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-15 23:32:12 +00:00
Sven Dowideit d736754a47 Merge pull request #7039 from jamtur01/apidoc
Removed legacy api.md file
2014-07-15 23:12:22 +00:00
James Kyle c0471ee35a Closes 6937. Allows setting of docker config dir.
Can now dynamically set the docker config directory through an
environment variable.

export DOCKER_CONFIG=/path/to/docker_config/

Default behavior remains the same, e.g. ~/.docker

Documentation for change added to the https.md docs.

Docker-DCO-1.1-Signed-off-by: James A. Kyle <james@jameskyle.org> (github: jameskyle)
2014-07-15 15:47:00 -07:00
Fred Lifton 9c8b59c1b0 Merge pull request #6892 from mpapo/docs-docker-aufs-limitation
Add small note about AUFS layer limitation
2014-07-15 15:03:46 -07:00
Sven Dowideit 5bdf2cf459 Merge pull request #7037 from henning/patch-3
Adjust Link description to match target
2014-07-15 21:55:06 +00:00
Sven Dowideit b6e1cfc075 Merge pull request #6855 from SvenDowideit/update-osx-installer-image-to-show-final-page
The installer completed page now contains information on next steps, so ...
2014-07-15 21:17:29 +00:00
James Turnbull 4fc8edd0df Removed legacy api.md file
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-15 16:40:43 -04:00
Henning Sprang fb51a330bb Adjust Link description to match target
The target document headline is "Managing data in containers" and so should the link be named.
2014-07-15 22:24:08 +02:00
Michaël Pailloncy 2a230729da Update small note about layer limitation
Docker-DCO-1.1-Signed-off-by: Michaël Pailloncy <mpapo.dev@gmail.com> (github: mpapo)
2014-07-15 21:58:01 +02:00
Michaël Pailloncy d91d381856 Add small note about AUFS layer limitation
Docker-DCO-1.1-Signed-off-by: Michaël Pailloncy <mpapo.dev@gmail.com> (github: mpapo)
2014-07-15 21:58:01 +02:00
James Turnbull 37309f37fa Merge pull request #7029 from albers/patch-2
no need to create a link to the docker binary
2014-07-15 13:47:39 -04:00
Harald Albers 88c6017644 no need to create a link to the docker binary 2014-07-15 14:18:28 +02:00
Albert Zhang b3b6e05f26 since moved the ./dockerinit mount into lxc driver, fix the lxc testcase accordingly
Docker-DCO-1.1-Signed-off-by: Albert Zhang <zhgwenming@gmail.com> (github: zhgwenming)
2014-07-15 07:56:19 -04:00
Tianon Gravi 47de2e3269 Merge pull request #6755 from tianon/bash-completion-for-link-and-bind
Update bash completion for "docker run --link" and "docker run -v" to complete on running containers and the local filesystem respectively
2014-07-15 00:15:13 -06:00
Sven Dowideit f976014410 The installer completed page now contains information on next steps, so is more useful than the intro
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-15 13:50:12 +10:00
Solomon Hykes 781a47e3f3 Merge pull request #6885 from tianon/standard-curl-sSL 2014-07-14 18:39:31 -07:00
Lokesh Mandvekar 0bde827c3f systemd unitfile requires docker.socket
modified:   contrib/init/systemd/docker.service

Docker-DCO-1.1-Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org> (github: lsm5)
2014-07-14 18:08:38 -05:00
Lokesh Mandvekar 076ac1d7d2 use systemd socket-activation by default
modified:   contrib/init/systemd/docker.service
	renamed:    contrib/init/systemd/socket-activation/docker.socket -> contrib/init/systemd/docker.socket
	deleted:    contrib/init/systemd/socket-activation/docker.service

Docker-DCO-1.1-Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org> (github: lsm5)
2014-07-14 17:41:07 -05:00
Lokesh Mandvekar 5105981431 add systemd MAINTAINERS file
new file:   contrib/init/systemd/MAINTAINERS

Docker-DCO-1.1-Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org> (github: lsm5)
2014-07-14 17:38:23 -05:00
Fred Lifton 9d6f295d5d Merge pull request #6994 from Aigeruth/fix/docs/registry_api
Fix MarkDown in Docker Registry API docs
2014-07-14 15:15:29 -07:00
Michael Crosby 12d58a2688 Merge pull request #7019 from crosbymichael/update-libcontainer-july2
Update libcontainer to version fb67bb80b4205bece36ff7096ee7
2014-07-14 14:51:00 -07:00
Tianon Gravi f77cde6a93 Merge pull request #7018 from tianon/dash
Add a conditional to contrib/init/sysvinit-debian/docker for Dash vs Bash support
2014-07-14 14:05:04 -06:00
Michael Crosby f00e643576 Update native driver for libcontainer changes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-14 12:49:50 -07:00
Michael Crosby 3b4a1c54d8 Update libcontainer dep to fb67bb80b4205bece36ff70
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-14 12:30:19 -07:00
Tianon Gravi 4f0fbb885e Add a conditional to contrib/init/sysvinit-debian/docker for Dash vs Bash support
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-14 12:34:04 -06:00
Michael Crosby 7ebd49c49a Merge pull request #6968 from vieux/cap_add_drop
Add support for --cap-add and --cap-drop
2014-07-14 10:42:29 -07:00
Michael Crosby b39fb160c6 Merge pull request #6970 from vieux/add_FSETID
add FSETID back to the caps whitelist
2014-07-14 10:37:04 -07:00
Tibor Vass dfbb291c40 Merge pull request #7016 from LK4D4/fix_some_cleanups_in_archive
Some resource clean ups in archive
2014-07-14 13:26:47 -04:00
Alexandr Morozov 97a3807901 Set state running before dumping to disk
Fixes #4766
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-14 21:16:27 +04:00
Victor Vieux 804f028862 Merge pull request #7014 from proppy/patch-6
api/server/MAINTAINERS: comment proppy (vacation)
2014-07-14 10:15:53 -07:00
Johan Euphrosine 32740543da api/server/MAINTAINERS: comment proppy (vacation)
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-07-14 10:13:46 -07:00
LK4D4 66ccd55ed4 Some resource clean ups in archive
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-14 21:11:48 +04:00
Solomon Hykes 8a4f1ad837 Merge pull request #7012 from shykes/tibor-maintainer
Add Tibor Vass as maintainer
2014-07-14 09:25:05 -07:00
Sven Dowideit b93787e6e0 Merge pull request #6967 from fredlf/copyedit-builds
Added bitbucket hook info and warning re: validating accounts.
2014-07-14 03:35:37 +00:00
Gabor Nagy b1677f9d09 Fix MarkDown in Docker Registry API docs
Docker-DCO-1.1-Signed-off-by: Gabor Nagy <mail@aigeruth.hu> (github: Aigeruth)
2014-07-13 11:15:52 +02:00
James Turnbull e20a95f24c Merge pull request #6989 from jamtur01/builder
General cleanup of the builder.md file
2014-07-12 22:22:55 -04:00
James Turnbull 07d93c6e34 General cleanup of the builder.md file
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-12 11:30:51 -04:00
James Turnbull b5a69da5b6 Merge pull request #6990 from folieadrien/missing-rm-api-docs
add missing api docs for #6863
2014-07-12 11:21:54 -04:00
James Turnbull 214ab777f4 Merge pull request #6988 from jamtur01/entry
Rewrote the ENTRYPOINT section in builder
2014-07-12 11:21:36 -04:00
Vincent Batts 848e837698 docker daemon: initialize the daemon pidfile early
fixes https://github.com/dotcloud/docker/issues/6973

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-07-12 08:25:05 -04:00
Ian Babrou 1a1ee73e38 Skipping empty lines in .dockerignore
Docker-DCO-1.1-Signed-off-by: Ian Babrou <ibobrik@gmail.com> (github: bobrik)
2014-07-12 13:38:33 +04:00
Adrien Folie 88326e9b91 add missing docs for rm
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-12 06:33:43 +02:00
James Turnbull b2ba1a9ce5 Rewrote the ENTRYPOINT section in builder
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-11 22:12:59 -04:00
Victor Vieux 6bb27f18d1 update api doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-12 01:03:12 +00:00
Victor Vieux e7d9854414 add doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux c04230c42b add check for invalid caps
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 064b5f870d support add and drop in both order
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 222a6f4401 add basic support for 'all'
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux f3ff323fb3 small refactoring
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 8344b6d736 fix job and add tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 21059af3ac Basic --cap-add and --cap-drop support for lxc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 94e6dc9781 Basic --cap-add and --cap-drop support for native
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:43:21 +00:00
Victor Vieux 319f551614 Merge pull request #6987 from vieux/fix_6863
Stop & Kill options for containers removal
2014-07-11 16:22:01 -07:00
Victor Vieux fe5ab5b058 proper rebase
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 23:27:23 +00:00
Adrien Folie 5ba11e6890 update CLI & api docs
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-11 23:26:08 +00:00
Adrien Folie d689a5e1e2 Add tests for rm with stop and kill options
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-11 23:26:08 +00:00
Adrien Folie 7810070630 Stop/Kill options for containers removal
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-11 23:26:08 +00:00
unclejack d53db040c8 Merge pull request #6896 from vieux/add_parsing_deamon_side
Add repo/tag parsing on the daemon for pull and import
2014-07-12 01:44:32 +03:00
Victor Vieux 00c1668011 Merge pull request #6985 from vieux/fix_api_1.14
bump api to 1.14 & update docs
2014-07-11 15:35:25 -07:00
Victor Vieux cdfdbe9bc6 proper rebase
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 22:39:43 +00:00
Michael Crosby c3f247860a Merge pull request #6979 from LK4D4/fix_race_inspect_start
Use container.Lock in public ToDisk method
2014-07-11 13:44:01 -07:00
LK4D4 eae5cf1e20 Use container.Lock in public ToDisk method
Here was possible race with inspect where we changing HostConfig.Links
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-11 23:31:03 +04:00
Fred Lifton 358758e99f Edits based on feedback from docs team.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-11 11:42:29 -07:00
James Turnbull 2944d8ca3e Merge pull request #6890 from huslage/tls-doc-fixes2
Clarification of TLS Docs
2014-07-11 14:36:24 -04:00
Aaron Huslage c3d91263a8 Clarified TLS Docs
Made a "Secure by default" section, create 2048-bit keys, various cleanups.

Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-07-11 14:35:01 -04:00
Solomon Hykes 1a99f36580 Add Tibor Vass as maintainer
* hack/
* archive/
* integration/
* server/buildfile.go

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-07-11 12:28:11 +00:00
James Turnbull 7c4f7780a1 Merge pull request #6209 from zdover23/03_Jun_2014
BZ#1104401 - correcting flags in docker-commit
2014-07-11 08:03:36 -04:00
Victor Vieux 9216ced003 Merge pull request #6961 from crosbymichael/devices-flag
Add --device flag to allow additional host devices in container
2014-07-10 17:44:44 -07:00
Victor Vieux e8762bfe39 add FSETID back to the caps whitelist
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-11 00:30:56 +00:00
Fred Lifton e80d075633 Added bitbucket hook info and warning re: validating accounts.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-10 16:51:16 -07:00
Timothy e855c4b921 Add --device flag to allow additional host devices in container
We add a --device flag which can be used like:

 docker run --device /dev/sda:/dev/xvda:rwm ubuntu /bin/bash

To allow the container to have read write permissions to access the host's /dev/sda via a node named /dev/xvda in the container.

Note: Much of this code was written by Dinesh Subhraveti dineshs@altiscale.com (github: dineshs-altiscale) and so he deserves a ton of credit.

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: timthelion)
2014-07-10 10:35:53 -07:00
unclejack 840ed5ace2 Merge pull request #6939 from snitm/thinp-blocksize-fix
devmapper: revert the default dm-thin-pool blocksize back to 64K
2014-07-10 19:57:07 +03:00
unclejack 0c67dcb0df Merge pull request #6920 from vieux/pr_6408
Add support for IPv6 addresses in --dns parameters.
2014-07-10 19:16:23 +03:00
Tibor Vass 85761b7fdb Merge pull request #6941 from tiborvass/use-copy-in-docker-dockerfile
Replace ADD with COPY in Dockerfile
2014-07-10 10:46:13 -04:00
Sven Dowideit d9265007a0 Merge pull request #6854 from tomfotherby/patch-1
Add documention on how to Mount a Host File as a Data Volume
2014-07-10 10:29:15 +00:00
Sven Dowideit 98e099e3a0 Merge pull request #6945 from fredlf/copyedit-builds
New screenshots and revisions to builds.md
2014-07-10 09:06:58 +00:00
Sven Dowideit 1c50f3797c Merge pull request #6948 from squarejaw/master
Fix typos
2014-07-10 09:05:48 +00:00
Tianon Gravi 439d7ea701 Merge pull request #6922 from tianon/bash-complete-build-directories
Update bash completion to only complete on directories as the argument to "docker build"
2014-07-10 00:26:14 -06:00
Bryan Bess 1df4049e17 Fix typos
Docker-DCO-1.1-Signed-off-by: Bryan Bess <squarejaw@bsbess.com> (github: squarejaw)
2014-07-09 23:14:06 -05:00
Adrien Folie 680e27d6ec bump api to 1.14 & update docs
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-10 03:24:01 +02:00
Fred Lifton 9319b7aef1 Merge pull request #6942 from jamtur01/addcopy
Replaced selected docs references to ADD with COPY
2014-07-09 17:48:31 -07:00
Zoltan Tombol e72f8161b9 Fix expect script in mkimage-arch
Docker-DCO-1.1-Signed-off-by: Zoltan Tombol <zoltan.tombol@gmail.com> (github: ztombol)
2014-07-10 02:09:50 +02:00
Zoltan Tombol de5f3020d9 Revert "removed expect from mkimage-arch since it was not working"
This reverts commit 962e1186f9.

Conflicts:
	contrib/mkimage-arch.sh

Docker-DCO-1.1-Signed-off-by: Zoltan Tombol <zoltan.tombol@gmail.com> (github: ztombol)
2014-07-10 01:58:15 +02:00
Fred Lifton ce9d48e896 New screenshots and revisions to builds.md
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-09 16:43:39 -07:00
Victor Vieux b68111713d update for consistency
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-09 21:48:02 +00:00
Victor Vieux 0abdea9094 add check on docker run
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-09 21:48:02 +00:00
Jan Pazdziora 899e9e7416 Add support for IPv6 addresses in --dns parameters.
Docker-DCO-1.1-Signed-off-by: Jan Pazdziora <jpazdziora@redhat.com> (github: adelton)
2014-07-09 21:48:02 +00:00
Victor Vieux 519319b989 Merge pull request #6931 from tiborvass/merge-5723
Updated docker logs timestamp to RFC3339 (carrying #5723)
2014-07-09 14:23:23 -07:00
James Turnbull a1ddf57216 Replaced selected docs references to ADD with COPY
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-09 17:13:26 -04:00
Tibor Vass 457166295c Replace ADD with COPY in Dockerfile
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-09 17:05:51 -04:00
Mike Snitzer d715803d45 devmapper: revert the default dm-thin-pool blocksize back to 64K
Commit 09ee269d ("devmapper: Add option for specifying the thin pool
blocksize") also switched the default dm-thin-pool blocksize from 64K to
512K.  That change unfortunately breaks the activation of dm-thin-pool
devices that were previously created using a 64K blocksize.  Here is an
example of the dm-thin-pool activation failure users may experience:

 device-mapper: thin: 253:4: pool target (204800 blocks) too small: expected 1638400
 device-mapper: table: 253:4: thin-pool: preresume failed, error = -22

The reason for this is docker is passing 512K as the blocksize for a
dm-thin-pool that was previously created using a 64K blocksize.  Docker
doesn't record the blocksize the is used when it creates a dm-thin-pool.
Until now it never had a need to do so because the blocksize was always
hardcoded.  The dm-thin-pool blocksize must be the same every time a
dm-thin-pool is activated.

As a stop-gap fix, revert to using 64K for the default blocksize.

But we do need a proper fix for this now that 'dm.blocksize' is exposed
as a proper storage option.  One possible fix would be to record the
blocksize for each dm-thin-pool that docker creates and to pass that
recorded blocksize down in the dmsetup table load each time the
dm-thin-pool is activated (this would be comparable to what lvm2 does).

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-07-09 16:47:30 -04:00
Victor Vieux 31f0cc04ec Merge pull request #6936 from vieux/merge_release_v1.1.1
Merge release v1.1.1
2014-07-09 13:31:11 -07:00
Victor Vieux b95fbe2d3f Change version to 1.1.1-dev
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-09 19:24:11 +00:00
Victor Vieux 3afb89da48 Merge remote-tracking branch 'origin/release'
Conflicts:
	VERSION
	integration-cli/docker_cli_build_test.go

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-09 19:23:53 +00:00
Victor Vieux ecd20a96df Merge pull request #6915 from vieux/bump_v1.1.1
Bump v1.1.1
2014-07-09 12:16:22 -07:00
James Turnbull aa0eca03e6 Updated docker logs timestamp to RFC3339
Currently the docker logs timestamp flag generates log entries like:

    $ sudo docker logs -ft daemon_dave
    [May 10 13:06:17.934] hello world

It uses Go's StampMilli timestamp to generate the timestamp. The entry
is also wrapped in [ ].

This is non-standard operational timestamp and one that will require
custom parsing.

The new timestamp is RFC3999Nano and generates entries like:

    2014-05-10T17:42:14.999999999Z07:00 hello world

These are readily parsed by tools like ELK.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-09 11:59:06 -04:00
Tibor Vass aec8d90462 Merge pull request #6926 from LK4D4/log_for_tar_test
Simple additions to TestBuildAddTar
2014-07-09 11:40:55 -04:00
Tianon Gravi 65a5dde38b Merge pull request #6916 from vieux/update_release_checklist_hotfix
Add hotfix help to the release checklist
2014-07-09 07:50:38 -06:00
Alexandr Morozov fc2631b499 Simple additions to TestBuildAddTar
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-09 13:41:57 +04:00
Solomon Hykes 2d34a08c48 Merge pull request #6570 from cpuguy83/add_cpuguy83_as_volumes_maintainer
Add cpuguy83 as volumes maintainer
2014-07-09 02:12:14 -07:00
Victor Vieux 463435827b Merge pull request #9 from tianon/vieux-hotfix-minor-nits
Update RELEASE-CHECKLIST with a few minor nits (periods, whitespace)
2014-07-09 00:57:03 -07:00
Tom Fotherby e479cae7cf Tiny text reformat (as per review comments)
Docker-DCO-1.1-Signed-off-by: Tom Fotherby <github@tomfotherby.com> (github: tomfotherby)
2014-07-09 08:21:31 +01:00
Zac Dover a52441b114 removing an extraneous space
Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)
2014-07-09 14:54:49 +10:00
Tianon Gravi 9176911736 Update bash completion to only complete on directories as the argument to "docker build"
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-08 20:26:23 -06:00
Tianon Gravi e1166861d2 Update RELEASE-CHECKLIST with a few minor nits (periods, whitespace)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-08 19:53:08 -06:00
Sven Dowideit 903c2af04e Merge pull request #6891 from rogaha/update_footer_version
Update the footer version with Enterprise and Partners sections
2014-07-09 01:51:22 +00:00
Victor Vieux dc62f3cdcc Bump version to v1.1.1
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-09 00:59:54 +00:00
Michael Crosby f91a97256b Merge pull request #6773 from fabiofalci/restart_tests_to_cli
Move `docker restart` tests to integration cli
2014-07-08 17:44:29 -07:00
James Turnbull 037a869919 Merge pull request #6835 from OddBloke/master
Explain ADD invalidation more accurately
2014-07-08 20:41:59 -04:00
Fred Lifton 4898267988 Merge pull request #6567 from JasonGiedymin/add-h3
Add H3 menu entries for leftnav
2014-07-08 17:38:10 -07:00
Michael Crosby ca9d57245c Merge pull request #6921 from jamtur01/parsego
Fixed some more styling issues with command line flags
2014-07-08 17:34:09 -07:00
James Turnbull 2c9d055253 Merge pull request #6826 from fredlf/copyedit-builds
Copyedit builds
2014-07-08 20:31:04 -04:00
James Turnbull 2112c5e948 Fixed some more styling issues with command line flags
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-08 20:23:12 -04:00
Victor Vieux bdf7224941 Merge pull request #6918 from vieux/rebase_events_leak
Rebase events leak
2014-07-08 17:18:09 -07:00
Michael Crosby a613ac1907 Merge pull request #6270 from kung-foo/5418-underscore
Replace dashes in link name with underscores
2014-07-08 17:09:27 -07:00
Sam Rijs 560eb07009 avoid regression in events test
Docker-DCO-1.1-Signed-off-by: Samuel Reis <srijs@airpost.net> (github: srijs)
2014-07-09 00:09:03 +00:00
Sam Reis 46747963b6 Add test for event limitation
Docker-DCO-1.1-Signed-off-by: Samuel Reis <srijs@airpost.net> (github: srijs)
2014-07-09 00:09:03 +00:00
Sam Reis 5d4986c755 Fix server leaking events
Solves #6843.

Docker-DCO-1.1-Signed-off-by: Samuel Reis <srijs@airpost.net> (github: srijs)
2014-07-09 00:08:36 +00:00
Fred Lifton 27c34f3eb9 Initial copy edits to builds.md
Revised to match new UI, fixed links, copy edits and improvements.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

More revisions to builds.md

Corrections to automated build process, copy edits.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Edits based on Sonat's feedback

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-08 17:01:41 -07:00
Michael Crosby f021cd64ed Merge pull request #6636 from saaadhu/master
Fix typo in README.md
2014-07-08 16:35:26 -07:00
Victor Vieux 751c7e0f00 add hotfix help
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-08 23:25:26 +00:00
Michael Crosby f0aba1aad4 Merge pull request #6882 from cpuguy83/fix_gh#6856_add_pass_unpause_events
Add event logs for pause/unpause
2014-07-08 15:31:23 -07:00
Tibor Vass 699556e661 Tests for ADD tar
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)

Conflicts:
	integration-cli/docker_cli_build_test.go

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: vieux)
2014-07-08 21:32:18 +00:00
Michael Crosby 94c27842d8 Revert "improve untar when using files instead of directories. Specifies behavior on non-existant targets."
This reverts commit 1c8d3106df.

Conflicts:
	archive/archive_test.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
2014-07-08 21:31:11 +00:00
Michael Crosby 44456ba065 Revert "allow overwrite in untar"
This reverts commit 5a3d774e56.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
2014-07-08 21:30:52 +00:00
unclejack 50c33ee877 Merge pull request #6911 from crosbymichael/revert-archive
Revert archive changes around creating
2014-07-09 00:08:25 +03:00
Michael Crosby f2a5b1fc37 Merge pull request #26 from tiborvass/fix-add-tar-test
Tests for ADD tar
2014-07-08 12:41:48 -07:00
Tibor Vass cfa4999d69 Tests for ADD tar
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-08 15:34:04 -04:00
Brian Goff e1ec91fc58 Add event logs for pause/unpuase
Fixes #6856

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-07-08 15:27:44 -04:00
Michael Crosby 4b1a464ac1 Revert "improve untar when using files instead of directories. Specifies behavior on non-existant targets."
This reverts commit 1c8d3106df.

Conflicts:
	archive/archive_test.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-08 12:26:59 -07:00
Michael Crosby 10d066c9cb Revert "allow overwrite in untar"
This reverts commit 5a3d774e56.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-07-08 12:23:08 -07:00
James Turnbull 446ceee51e Merge pull request #6865 from SvenDowideit/remove-the-named-container-before-creating-a-new-one
Don't make the user get a container already exists error
2014-07-08 14:42:17 -04:00
Tianon Gravi f014236791 Merge pull request #6897 from tianon/moar-squeeze-lts
Update contrib/mkimage/debootstrap to add "sqeeze-lts" to "oldstable" as well
2014-07-08 07:57:53 -06:00
James Turnbull 0327b0f4af Merge pull request #6899 from sjp38/patch-1
understanding-docker: Use consistent term
2014-07-08 08:41:20 -04:00
Tom Fotherby a247b63aa1 Typo fix
Docker-DCO-1.1-Signed-off-by: Tom Fotherby <github@tomfotherby.com> (github: tomfotherby)
2014-07-08 10:01:26 +01:00
SeongJae Park 14ffde2d8c understanding-docker: Use consistent term
Term 'service' was used together with 'daemon'. It would be better to use the term 'daemon' solely because most part of documentation are using the term.
2014-07-08 14:50:57 +09:00
Solomon Hykes 55915b8e00 Merge pull request #6760 from jamtur01/contrib
Minor updates and fixes to the CONTRIBUTING doc
2014-07-07 18:42:29 -07:00
SvenDowideit 6a9c6d3bf1 Don't make the user get a container alreayd exists error
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-08 11:09:55 +10:00
Michael Crosby 42a28f79dc Merge pull request #6849 from leeplay/patch-1
Update README.md
2014-07-07 16:43:57 -07:00
Sven Dowideit fbafa8038d Merge pull request #6858 from timthelion/patch-6
We haven't required lxc and aufs for years now...
2014-07-08 09:37:53 +10:00
Sven Dowideit 0284e5dfea Merge pull request #6871 from prosto-chewey/patch-1
Update running_riak_service.md
2014-07-08 09:35:01 +10:00
Sven Dowideit d20367c216 Merge pull request #6870 from andreaturli/doc/jclouds-client
add jclouds-docker client reference
2014-07-08 09:29:27 +10:00
Tianon Gravi a6f1995550 Update contrib/mkimage/debootstrap to add "sqeeze-lts" to "oldstable" as well
Note that the archive does _not_ have a symlink from oldstable-lts to squeeze-lts, hence the change from using "${suite}" to not using it in here and just using the string "squeeze-lts" directly regardless of whether we're building a "squeeze" image or an "oldstable" image.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 17:14:31 -06:00
Victor Vieux 714b63d1be Add repo/tag parsing on the daemon for pull and import
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-07 23:09:42 +00:00
Roberto Gandolfo Hashioka fd66e77465 Update the footer version with Enterprise and Partners sections
Docker-DCO-1.1-Signed-off-by: Roberto Hashioka <roberto.hashioka@docker.com> (github: rogaha)
2014-07-07 16:02:15 -07:00
Tianon Gravi 77ed01c8da Merge pull request #6886 from tianon/no-binddir-if-docker_host
Update Makefile to default BINDDIR to nothing if DOCKER_HOST is set
2014-07-07 17:00:03 -06:00
Victor Vieux 170609e369 Merge pull request #6720 from fabiofalci/relax_dns_search
Relax dns search to accept empty domain
2014-07-07 15:12:29 -07:00
Tibor Vass 52c58b9ea0 Merge pull request #6857 from vbatts/vbatts-fix_save_repositories
docker save: fix the 'repositories' file
2014-07-07 17:26:52 -04:00
Michael Crosby f34510b123 Merge pull request #6813 from gsalgado/convert-testgetimagesjson
Convert TestGetImagesJSON into several unit tests
2014-07-07 13:40:38 -07:00
unclejack e7db0d4f44 Merge pull request #6829 from unclejack/update_archive_tar
update vendored archive/tar to lower the number of memory allocations
2014-07-07 23:35:19 +03:00
Guilherme Salgado 627805f5f8 Convert TestGetImagesJSON into several unit tests
Docker-DCO-1.1-Signed-off-by: Guilherme Salgado <gsalgado@gmail.com> (github: gsalgado)
2014-07-07 21:55:26 +02:00
Timothy Hobbs ea583fda97 We haven't required lxc and aufs for years now...
Well, maybe not years, but internet years...

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: timthelion)
2014-07-07 19:45:36 +00:00
Michael Crosby 3993f9d581 Merge pull request #6799 from LK4D4/refactor_portallocator
Refactoring portallocator
2014-07-07 12:39:36 -07:00
Michael Crosby bade039bda Merge pull request #6821 from LK4D4/broadcast_writer_refactor
Broadcast writer refactor
2014-07-07 12:15:47 -07:00
Vincent Batts 600f65b247 docker save: more integration tests
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-07-07 14:58:27 -04:00
Victor Vieux 578513095c Merge pull request #6850 from leeplay/patch-2
Update README.md
2014-07-07 11:50:27 -07:00
Michael Crosby 35b511b6d0 Merge pull request #6702 from mrunalp/dev/helper_fns
Move setting hostConfig and pulling images into helper functions.
2014-07-07 11:39:27 -07:00
Michael Crosby 219a3345de Merge pull request #6452 from mheon/selinux_btrfs_fix
Error if Docker daemon starts with BTRFS graph driver and SELinux enabled
2014-07-07 11:34:50 -07:00
unclejack 2e4f99d99c Merge pull request #6645 from snitm/dmthinp-devel
Dmthinp devel
2014-07-07 21:20:31 +03:00
Victor Vieux 880c98d2d3 Merge pull request #6859 from LK4D4/move_buildfile_tests_to_cli
Moved last build tests to integration-cli
2014-07-07 10:53:26 -07:00
Michael Crosby 860c664ccb Merge pull request #6508 from mheon/signals
Increase size of buffer for signal forwarding with --sig-proxy
2014-07-07 10:45:31 -07:00
Michael Crosby bcec0f30e8 Merge pull request #6371 from jpetazzo/6370-masquerade
Select masquerade by outgoing interface rather than by destination subne...
2014-07-07 10:28:31 -07:00
Victor Vieux dd89904ad3 Merge pull request #6847 from SvenDowideit/add-os-and-arch-to-docker-version
add client OS and arch to docker version
2014-07-07 10:15:30 -07:00
Victor Vieux 4a20c9b005 Merge pull request #6823 from folieadrien/move_integration_tests
Convert TestGetImagesByName into unit and integration-cli test
2014-07-07 10:13:19 -07:00
Tianon Gravi c2653b0a9e Update Makefile to default BINDDIR to nothing if DOCKER_HOST is set
If "DOCKER_HOST" is set, we can usually assume the user is connecting to a remote Docker and thus not bind mount anything by default (meaning the Makefile will more often DWIM for our users).

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 10:54:03 -06:00
Tianon Gravi 9f61e233c6 Standardize "curl" arguments across the repo to be or include "-sSL"
- https://botbot.me/freenode/docker-dev/msg/17315692/
- https://botbot.me/freenode/docker-dev/msg/17315994/

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 10:35:38 -06:00
Tianon Gravi de07654c60 Merge pull request #6884 from tianon/use-docker-based-travis
Update Travis to use pretty Docker-based workers
2014-07-07 10:09:31 -06:00
Tianon Gravi 3e2ad6ffee Update Travis to use pretty Docker-based workers
These start up much faster and the only caveat is that we can't use "sudo" (which we don't currently use anyhow).

Also, I've updated the Go version here to match what's in the Dockerfile.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 10:04:23 -06:00
Tianon Gravi 09927fdbae Merge pull request #6883 from tianon/fix-dco-parsing-for-numeric
Fix DCO parsing for numeric github handles like cpuguy83
2014-07-07 10:02:02 -06:00
Tianon Gravi bbbf642427 Fix DCO parsing for numeric github handles like cpuguy83
Turns out, "alphanumeric" actually means both "alpha" AND "numeric". Dur.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 09:57:50 -06:00
unclejack e2c575c5a6 Merge pull request #6756 from kzys/lxc-linux
Skip lxc_template_unit_test.go on non-Linux platforms
2014-07-07 18:46:46 +03:00
Tianon Gravi cafb1bfd76 Merge pull request #6878 from tianon/update-travis-github-username-regex
Update the Travis GitHub username regex to match the GitHub username requirements
2014-07-07 09:26:32 -06:00
unclejack 2ffd13bc31 Merge pull request #6573 from mheon/ps_cleanup
Escape control and nonprintable characters in docker ps
2014-07-07 18:23:18 +03:00
Tianon Gravi 07be572f8e Merge pull request #6873 from tianon/6836-fix-systemd-socket-perms
Fix the systemd socket activation socket permissions
2014-07-07 08:56:04 -06:00
Tianon Gravi e895817ad7 Update the Travis GitHub username regex to match the GitHub username requirements
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 08:36:31 -06:00
Tianon Gravi 3589f5b9c2 Fix the systemd socket activation socket permissions
Fixes #6836

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-07 08:09:25 -06:00
Chewey 963ee6ce79 Update running_riak_service.md 2014-07-07 17:52:18 +04:00
Andrea Turli 2f13d3a8e5 add jclouds-docker client reference
Docker-DCO-1.1-Signed-off-by: Andrea Turli <andrea.turli@gmail.com> (github: andreaturli)

Docker-DCO-1.1-Signed-off-by: Andrea Turli <andrea.turli@gmail.com> (github: )
2014-07-07 15:14:41 +02:00
Tom Fotherby ebbfdf0a0f Reformat to keep line length within 80 characters
Docker-DCO-1.1-Signed-off-by: Tom Fotherby <github@tomfotherby.com> (github: tomfotherby)
2014-07-07 12:01:04 +01:00
Sven Dowideit 323e6a3cf2 Merge pull request #6840 from gesellix/patch-1
docs: add Groovy Docker-Client link
2014-07-07 11:16:55 +10:00
Sven Dowideit cf01997ebe Merge pull request #6846 from irbull/master
Fix the parent/child relationship in the docs
2014-07-07 10:27:27 +10:00
Sven Dowideit 2f649301e5 Merge pull request #6860 from felixrabe/patch-7
run.md: Fix references to cli
2014-07-07 09:37:42 +10:00
Felix Rabe 95870ef334 run.md: Fix references to cli
There are now no other occurrences of `#cli-` in this document.

TODO: Find other places with wrong links.
2014-07-06 14:47:37 +02:00
LK4D4 1d4862b7a2 Moved last build tests to integration-cli
Also removed skipped tests on "viz" and "tree" because they
blocked integration/buildfile_test.go removing.

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-06 15:36:34 +04:00
Ian Bull 29a20672c2 Fix the parent/child relationship in the docs
In the Docker Linking Docs, the parent child relationship
was backwards. The Web container should be able to access
the DB, not other way around. Furthermore, the output of
'docker ps' was wrong (it showed that the DB could access
the Web). This fixes both typos.

Docker-DCO-1.1-Signed-off-by: Ian Bull <irbull@gmail.com> (github: irbull)
2014-07-05 13:58:09 -07:00
Vincent Batts ac392bc0d7 docker save: fix the 'repositories' file
For various use cases, the 'repositories' file does not match expected
behavior.

Like,

	docker save busybox:latest | tar t

Before:

	[...]
	busybox:latest/
	busybox:latest/VERSION
	busybox:latest/json
	busybox:latest/layer.tar
	# note, the layer name, and lack of 'repositories' file

Now:

	[...]
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/VERSION
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/json
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/layer.tar
	repositories
	# and the repositories file is correct for the single tagged
	# image.
	#> {"busybox":{"latest":"a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721"}}

and

	docker save a9eb17255234 | tar t

Before:
	[...]
	a9eb17255234/
	a9eb17255234/VERSION
	a9eb17255234/json
	a9eb17255234/layer.tar
	# Note the truncated layer name

Now:
	[...]
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/VERSION
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/json
	a9eb172552348a9a49180694790b33a1097f546456d041b6e82e4d7716ddb721/layer.tar
	# There is no 'repositories' file, because there is no named repo

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-07-05 16:52:23 -04:00
Tom Fotherby 87df57810d Update File mount info for docker v1.1.0
Docker-DCO-1.1-Signed-off-by: Tom Fotherby <github@tomfotherby.com> (github: tomfotherby)
2014-07-05 03:46:41 +01:00
Tom Fotherby cfbe062eb2 Add info to Mount a Host File as a Data Volume
Docker-DCO-1.1-Signed-off-by: Tom Fotherby <github@tomfotherby.com> (github: tomfotherby)
2014-07-04 18:52:10 +01:00
OddBloke 20a77aeeb8 Explain ADD invalidation more accurately
And also move it in to the `ADD` section, rather than being hidden in the `RUN` section.

Docker-DCO-1.1-Signed-off-by: Daniel Watkins <daniel@daniel-watkins.co.uk> (github: OddBloke)
2014-07-04 16:40:23 +01:00
Tianon Gravi 02ef9437d3 Merge pull request #6852 from Odaeus/patch-1
Fix "Error while reading file" in Fish completion
2014-07-04 08:11:12 -06:00
Andrew France 6ad5fe8659 Fix "Error while reading file" Fish completion
An unbalanced single quote caused Fish to fail to load the completion file with `source: Error while reading file “/etc/fish/completions/docker.fish”`.

Docker-DCO-1.1-Signed-off-by: Andrew France <andrew@avito.co.uk> (github: Odaeus)
2014-07-04 15:07:49 +01:00
Sven Dowideit eceacb8334 add client OS and arch to docker version
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-04 21:23:36 +10:00
hyeongkyu.lee 649b50c0b7 Update README.md
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-07-04 18:21:13 +09:00
hyeongkyu.lee 3f5ab612c8 Update README.md
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-07-04 17:59:26 +09:00
Fabio Falci 804b00cd7d Relax dns search to accept empty domain
In that case /etc/resolv.conf will be generated with no search
option. Usage: --dns-search=.

Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-07-04 09:33:53 +01:00
Victor Vieux 44d737707c Merge pull request #6771 from LK4D4/fix_containers_list_race
Add synchronization in server.Containers
2014-07-03 17:53:50 -07:00
Tibor Vass 0cdda85df2 Merge pull request #6801 from cpuguy83/remove_dup_run_tests
Remove dup tests
2014-07-03 18:30:58 -04:00
Brian Goff 0a3abe33f0 Remove dup tests
integration/server_test.go/TestCreateNumberUsername == integration-cli/docker_cli_run_test.go/TestUserByID
integration/server_test.go/TestRmi == integration-cli/docker_cli_images_test.go/TestCLIImageTagRemove

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-07-03 17:35:03 -04:00
Fred Lifton 8f97a1778e Merge pull request #6842 from mrorii/patch-1
doc fix: remove trailing *
2014-07-03 14:30:41 -07:00
Naoki Orii 6e4b37fffd doc fix: remove trailing *
The trailing `*` makes it seem like there is some kind of annotation
2014-07-03 14:02:40 -07:00
Tobias Gesellchen 5c246c931e docs: add Groovy Docker-Client link
Docker-DCO-1.1-Signed-off-by: Tobias Gesellchen <tobias@gesellix.de> (github: gesellix)
2014-07-03 22:24:24 +02:00
Victor Vieux 700880ca16 Merge pull request #6838 from vieux/merge_release_v1.1.0
Merge release v1.1.0
2014-07-03 11:04:26 -07:00
Victor Vieux d55cafb72e Change version to 1.1.0-dev
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-03 18:01:36 +00:00
Victor Vieux b3191bf042 Merge remote-tracking branch 'origin/release'
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-03 18:01:13 +00:00
Victor Vieux 4c52272a2d Merge pull request #6818 from vieux/bump_v1.1.0
Bump v1.1.0
2014-07-03 10:57:44 -07:00
Matthew Heon 4318802f64 Error if Docker daemon starts with BTRFS graph driver and SELinux enabled
The Docker btrfs graph driver does not interact well with SELinux at present.
If btrfs mounts the same file in several locations, the same SELinux label will
be applied to all mountpoints. In the context of the graph driver, things such
as shared libraries become inaccessible to containers due to SELInux, causing
all dynamically linked applications to fail when run in a container.

Consequently, error when we detect the daemon is being run with SELinux enabled
and the btrfs driver. Documentation has been added for this behavior.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-07-03 08:11:18 -04:00
James Turnbull e11a714f7a Merge pull request #6827 from SvenDowideit/docker-com-theme-regressions
Fix 2 docker.com theme regressions on docs.docker.com
2014-07-03 07:30:18 -04:00
LK4D4 7bdd23bfee BroadcastWriter refactoring
It became slightly faster and lighter
possibly fixes #5923 problems

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-03 10:12:53 +04:00
LK4D4 a8d95b7c57 Benchmark for BroadcastWriter
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-03 10:06:58 +04:00
unclejack b885f61a61 update vendored archive/tar to lower allocations
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-03 08:28:39 +03:00
Sven Dowideit 873241790f Fix 2 docker.com theme regressions on docs.docker.com
- Hover colours of doc nav wrong
- Primary Docs Nav not active when user is Logged in.

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-02 21:19:48 -07:00
James Turnbull d013b76e10 Minor updates and fixes to the CONTRIBUTING doc
* Fixed some uses of docker v. Docker
* Formatting and line wrapping.
* Spelling errors and grammar fixes.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-07-02 22:52:56 -04:00
Victor Vieux 79812e3646 Bump version to v1.1.0
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-03 01:15:11 +00:00
Sven Dowideit 6eda9f3207 Merge pull request #6825 from SvenDowideit/fix-man-page-merge-mess
missed these merge conflicts when manually rebasing too many files
2014-07-03 11:12:13 +10:00
SvenDowideit f8d9ecfb2c missed these merge conflicts when manually rebasing too many files
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-03 11:07:42 +10:00
Sven Dowideit 9fe95f1c5b Merge pull request #6824 from fredlf/1-1_release_notes
Added Release Notes
2014-07-03 10:45:11 +10:00
Fred Lifton c3f4972f6d Corrected version number to 3 digits.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-02 17:41:52 -07:00
Sven Dowideit 65e4b57fda Merge pull request #6819 from vieux/update_release_checklist_and_gitcommit
update release checklist and .gitignore
2014-07-03 10:36:52 +10:00
Fred Lifton f746a48fe6 Merge pull request #6807 from SvenDowideit/convert-more-docker.io-to-docker.com
some docker.io -. docker.com conversions
2014-07-02 17:34:31 -07:00
SvenDowideit fa29b1f062 I'm going to wish I didn't do this
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-03 10:31:56 +10:00
Fred Lifton 2c32c195d9 Merge pull request #6790 from SvenDowideit/pr_out_update_cli_md
update cli.md
2014-07-02 17:24:53 -07:00
SvenDowideit b07f193822 Update cli.md and man pages to match current cli
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-03 10:22:20 +10:00
James Turnbull b59754bcb3 Fixed numerous inconsistencies in command help text
* Replaced docker with Docker.
* Consistently used STDIN, STDOUT, STDERR.
* Consistently used TTY.
* Fixed some grammar and spelling issues.
* Fixed references to the index.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: SvenDowideit)
2014-07-03 10:22:09 +10:00
Adrien Folie f337a52a6e Move TestGetImagesByName
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-07-03 01:39:08 +02:00
Fred Lifton d946cae364 Added Release Notes
Release notes for v.1.1 have been added to the docs index.md page. Made some revisions to
other content to make it shorter.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-07-02 16:33:13 -07:00
Fabio Falci 9da6c80533 Move docker restart tests to integration cli
Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-07-02 21:56:19 +01:00
Mrunal Patel 2b3959c414 api.DockerCli: Extract pullImage into separate function
This lets us reuse this code later.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-07-02 16:33:14 -04:00
Alexander Larsson a4a80b64a7 server: Break out setHostConfig() from ContainerStart
This will be reused for ContainerCreate

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-07-02 16:32:28 -04:00
LK4D4 9d4e802221 Move WriteBroadcaster to separate package as BroadcastWriter
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-02 23:31:06 +04:00
Victor Vieux 170ba7f8fe update release checklist and .gitignore
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-02 18:54:14 +00:00
Victor Vieux 8ea3589287 Merge pull request #6808 from vieux/pr_6806
Add backwards READ compatibility for the old libcontainer API
2014-07-02 10:51:27 -07:00
Tibor Vass f357b18ee3 Merge pull request #6780 from unclejack/tweak_cli_integration_tests
Tweak cli integration tests
2014-07-02 13:16:26 -04:00
unclejack deb57c5144 Merge pull request #6763 from folieadrien/master
Migrate TestGetImagesHistory into unit and CLI test
2014-07-02 19:44:21 +03:00
Tianon Gravi 292483531f Merge pull request #6814 from tianon/more-init-ulimit
Add NOFILE and NPROC ulimit settings to OpenRC and SysVinit
2014-07-02 10:08:11 -06:00
unclejack dad4768037 integcli: add & use pullImageIfNotExist for pulls
This speeds up the tag cli integration tests by about 20 seconds.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-07-02 18:45:11 +03:00
Tianon Gravi bae79c3e72 Add NOFILE and NPROC ulimit settings to the SysV init script
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-02 09:38:19 -06:00
Tianon Gravi 7abe70c0b1 Add NOFILE and NPROC ulimit settings to the OpenRC init script
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-07-02 09:36:57 -06:00
Victor Vieux d403936818 fix compilation and panic
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-02 00:54:08 +00:00
Tibor Vass cccb64e863 Add backwards READ compatibility for the old libcontainer API
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-02 00:19:05 +00:00
Fred Lifton 5ff18b8155 Merge pull request #6789 from SvenDowideit/pr_out_expand_to_used_b2d_vm_on_any_of_the_platforms
expand to 'used b2d vm on any of the platforms'
2014-07-01 16:09:38 -07:00
Tibor Vass b0824edc7c Merge pull request #6748 from LK4D4/increase_max_patricia_prefix
Increase max patricia prefix
2014-07-01 19:03:30 -04:00
Fred Lifton 96e2bfe28a Merge pull request #6781 from anweiss/6738-dscarticle
Add Article for PowerShell DSC
2014-07-01 15:48:19 -07:00
James Turnbull a52d90a100 Merge pull request #6788 from SvenDowideit/remote-bang-from-hello-world
removing the exclaimation mark from our hello-world examples, some users...
2014-07-01 18:10:17 -04:00
Sven Dowideit a09f99b8b0 Lowercase world, because its not important.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-01 15:07:48 -07:00
SvenDowideit 3091d9a31e removing the exclaimation mark from our hello-world examples, some users get trapped by the shell
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-01 15:07:48 -07:00
Sven Dowideit 91c4fbb7bf convert OSX into OS X
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-07-01 15:00:34 -07:00
SvenDowideit 84990731f7 expand to 'used b2d vm on any of the platforms'
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-01 15:00:34 -07:00
Tom Maaswinkel fc4c0d9de4 Update usingdocker.md
boot2docker on windows also uses an IP of its own.

Docker-DCO-1.1-Signed-off-by: Tom Maaswinkel <tom.maaswinkel@12wiki.eu> (github: SvenDowideit)
2014-07-01 15:00:34 -07:00
Victor Vieux 49d49ac98f Merge pull request #6803 from vieux/pr_6176
Implement tail for docker logs
2014-07-01 14:59:37 -07:00
Victor Vieux e06d533cc2 update docs
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-01 21:59:08 +00:00
Andrew Weiss 5c344dca4b add DSC article
Docker-DCO-1.1-Signed-off-by: Andrew Weiss <andrew.weiss@outlook.com> (github: anweiss)
2014-07-01 17:32:55 -04:00
Tibor Vass 1822bf730e Merge pull request #6798 from tiborvass/docs-dockerignore
More docs for dockerignore
2014-07-01 17:23:00 -04:00
Alexandr Morozov 1dc0caf9c0 Implement tail for docker logs
Fixes #4330
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-01 23:44:12 +04:00
Tibor Vass c21c55e0b6 more docs for dockerignore
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-07-01 15:11:18 -04:00
LK4D4 f387cc1205 Refactoring portallocator
Faster, more documented, less code.
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-07-01 21:59:11 +04:00
Victor Vieux cdc62c778f Merge pull request #6787 from vieux/pause_commit2
Pause/freeze containers during commit
2014-07-01 10:11:18 -07:00
Victor Vieux 957c510d72 updated docs & tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-07-01 17:10:00 +00:00
unclejack c41c00cab4 Merge pull request #6785 from tiborvass/use_new_libcontainer_state_api
Use new libcontainer.State API
2014-07-01 19:44:07 +03:00
James Turnbull 6ac20416c8 Merge pull request #6796 from jpetazzo/bundled-vs-packaged
Add FAQ entry about bundled vs packaged libraries
2014-07-01 11:11:48 -04:00
Jérôme Petazzoni ae1ff4dea3 Add FAQ entry about bundled vs packaged libraries
Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)
2014-07-01 07:47:59 -07:00
Solomon Hykes bc33ce0d8f Merge pull request #6366 from proppy/add-proppy-server
api/MAINTAINERS: add proppy for server/
2014-06-30 17:44:02 -07:00
Eric Windisch 17d870bed5 Pause/freeze containers during commit
Initiates a pause before committing a container,
adds a pause option to the commit command, defaulting to 'true'.

Fixes bug: #6267
Fixes bug: #3675

Docker-DCO-1.1-Signed-off-by: Eric Windisch <ewindisch@docker.com> (github: ewindisch)
2014-07-01 00:30:21 +00:00
Sven Dowideit 3f18afc94c Merge pull request #6764 from SvenDowideit/pr_out_blindly_make_all_uses_of_e_g_into_e_g_
blindly make all uses of e\.?g\.? into e.g.,
2014-07-01 09:57:39 +10:00
SvenDowideit fde10cf87b blindly make all uses of e\.?g\.? into e.g.,
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-07-01 09:55:19 +10:00
Christian Berendt b44e13ae02 Fixed typographical erros in the documentation
Used the RETF rules provided by Wikipedia to fix some typographical
errors in the Markdown files of the documentation with the following
script:

https://github.com/openstack/openstack-doc-tools/tree/master/cleanup/retf

Docker-DCO-1.1-Signed-off-by: Christian Berendt <berendt@b1-systems.de> (github: berendt)

Docker-DCO-1.1-Signed-off-by: Christian Berendt <berendt@b1-systems.de> (github: SvenDowideit)
2014-07-01 09:54:20 +10:00
Victor Vieux e6d9c097b2 Merge pull request #6749 from LK4D4/update_gorilla_context
Update gorilla/context
2014-06-30 16:52:34 -07:00
Tibor Vass 262d45e0fe Use new libcontainer.State API
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-30 18:27:15 -04:00
Tianon Gravi ff45a3cbac Merge pull request #6784 from tianon/NikolaMandic-master
Update contrib/mkimage-arch.sh to remove use of "expect" since the output of pacstrap has changed
2014-06-30 16:04:09 -06:00
Tianon Gravi 75b3b382ca Merge branch 'master' of https://github.com/NikolaMandic/docker into NikolaMandic-master
* 'master' of https://github.com/NikolaMandic/docker:
  removed expect from mkimage-arch since it was not working

Conflicts:
	contrib/mkimage-arch.sh

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-30 15:52:04 -06:00
unclejack 63e28cc363 make TestRemoveContainerRunning handle signals
This lowers the test execution time by about 5 seconds.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-30 22:25:50 +03:00
unclejack eb1e8e884d integration cli: add imageExists to docker utils
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-30 22:22:29 +03:00
Tibor Vass 36c78c9172 Merge pull request #6742 from vieux/remove_deprecate_syntax
remove deprecated syntax for docker commit
2014-06-30 10:41:07 -04:00
Tibor Vass fef1e0a708 Merge pull request #6682 from erikh/6476-persistent_port_allocation
fix persistent port allocation
2014-06-30 10:14:17 -04:00
James Turnbull 7128353be5 Merge pull request #6766 from jamtur01/clirun
Formatting and consistency fixes to CLI and RUN references
2014-06-30 08:21:57 -04:00
Sven Dowideit 8d1cc68673 Merge pull request #6765 from SvenDowideit/pr_out_use_the_official_image_for_now_there_s_an_opensuse_image_on_its_way
use the official  image for now - there's an opensuse image on its way
2014-06-30 20:00:12 +10:00
Sven Dowideit 753ff36cc3 Merge pull request #6768 from SvenDowideit/add-1.13-api-to-docs-menu
Add the 1.13 API docs to the menu
2014-06-30 19:59:39 +10:00
Adrien Folie c2699d8d89 Add missing test for full coverage
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-06-30 09:36:46 +00:00
Alexandr Morozov da853e98c9 Add synchronization in server.Containers
This fixes races between ps and other operations
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-30 10:52:11 +04:00
SvenDowideit 26332fe339 Add the 1.13 API docs to the menu
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-30 14:19:16 +10:00
Sven Dowideit b4df555d27 Merge pull request #6544 from mheon/sigproxy_docs
Update --sig-proxy documentation
2014-06-30 13:16:38 +10:00
James Turnbull 8c765ae68a Formatting and consistency fixes to CLI and RUN references
* Removed double backticks.
* Reformatted paragraphs.
* Fixed consistent STDOUT/STDIN/STDERR references.
* Fixed several broken URLs.
* Fixed backtick mismatches.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-29 22:25:12 -04:00
SvenDowideit 24bf8faa99 use the official image for now - there's an opensuse image on its way
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-30 11:46:09 +10:00
Sven Dowideit 0757a5663a Merge pull request #6631 from SvenDowideit/add-versioning-to-docs-output
Add versioning to docs output
2014-06-30 11:38:04 +10:00
James Turnbull 860d8e9271 Merge pull request #6761 from fgrehm/patch-1
Remove extra "Docker" from docs index
2014-06-29 20:14:16 -04:00
Adrien Folie 9a2771eac2 Migrate TestGetImagesHistory into unit and CLI test
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)
2014-06-30 01:31:16 +02:00
Fabio Rehm 3be683a0bb Remove extra "Docker" from docs index 2014-06-29 19:45:08 -03:00
Kato Kazuyoshi dda0ce6459 Skip lxc_template_unit_test.go on non-Linux platforms
It doesn't work without lxc-start.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-06-29 17:11:30 +09:00
Sven Dowideit 2075ef029e Merge pull request #6747 from softprops/master
added linkage to tugboat, a scala client library
2014-06-29 16:21:32 +10:00
Tianon Gravi 86f06b6deb Update bash completion for "docker run --link" and "docker run -v" to complete on running containers and the local filesystem respectively
Also, add completion for "docker run -a" ("stdin", "stdout", and "stderr"), "docker run --env-file" (local filesystem), and some other minor code style tweaks.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-28 23:17:51 -06:00
doug tangren 5c0819a046 added linkage to tugboat, a scala client
Docker-DCO-1.1-Signed-off-by: Doug Tangren <d.tangren@gmail.com> (github: softprops)
2014-06-28 23:21:40 -04:00
Jason Giedymin e4742dbb94 Add H3 menu entries for leftnav:
- Add H3 formatting and entries to leftnav, to docs css.

Docker-DCO-1.1-Signed-off-by: Jason Giedymin <jasong@apache.org> (github: JasonGiedymin)
2014-06-28 23:17:46 -04:00
Sven Dowideit 7362a09cd9 Merge pull request #6752 from mchelen/patch-5
fix typo
2014-06-29 08:29:12 +10:00
Sven Dowideit 525d41118e Merge pull request #6751 from mchelen/patch-3
missing `sudo`
2014-06-29 08:28:46 +10:00
Mike Chelen 0d2656ce6e fix typo 2014-06-28 12:26:36 -04:00
Mike Chelen 4a5f09387e missing sudo 2014-06-28 12:01:16 -04:00
LK4D4 ea464ea212 Update gorilla/context
Race condition was fixed recently
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-28 12:38:29 +04:00
LK4D4 095cb7a818 Increase patricia.MaxPrefixPerNode
It allows to avoid redundant prefix splits
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-28 12:27:44 +04:00
LK4D4 2edfb1e696 Update go-patricia to v1.0.1
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-28 12:20:31 +04:00
Sven Dowideit 4a9dc8d73d Merge pull request #6741 from fredlf/suse-install-fix
Changed add to group command to include -a (append) flag, for safety. In...
2014-06-28 10:43:11 +10:00
Victor Vieux 1960da1dd0 Merge pull request #6713 from vieux/order_flag
sort flags with the same name in a consistent order
2014-06-27 17:10:55 -07:00
Victor Vieux a0b2290713 remove deprecated syntax for docker commit
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-27 23:09:41 +00:00
Erik Hollensbe 2cdcfc0c57 portmapper: unit tests for remap problem
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-27 15:57:31 -07:00
Fred Lifton ff20637499 Merge pull request #6680 from mheon/cgroup_memory
Update docker-run manpage
2014-06-27 14:39:03 -07:00
Fred Lifton 018f887fe1 Merge pull request #6731 from mchelen/patch-2
Update dockerimages.md
2014-06-27 14:37:12 -07:00
Fred Lifton 74a34bb1fe Merge pull request #6678 from mheon/fix_man_generate
Path fixes in md2man script and README
2014-06-27 14:29:36 -07:00
Michael Crosby e5d3aa2765 Merge pull request #6740 from tiborvass/untar_allow_overwrite
Allow overwrite in archive.Untar
2014-06-27 14:15:47 -07:00
Tibor Vass 5a3d774e56 allow overwrite in untar
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-27 17:03:51 -04:00
Michael Crosby 680adb98e1 Merge pull request #6232 from LK4D4/wait_functions_for_state
Wait functions for state
2014-06-27 13:33:13 -07:00
Michael Crosby 3aa75210c4 Merge pull request #6721 from LK4D4/integration_test_on_links
Integration cli tests on Links in inspect
2014-06-27 13:29:13 -07:00
Fred Lifton 0acec44374 Changed add to group command to include -a (append) flag, for safety. In response to customer email.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-06-27 12:45:55 -07:00
Alexandr Morozov 08182da5d8 Integration cli tests on Links in inspect
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-27 22:44:13 +04:00
Michael Crosby 3a50675a68 Merge pull request #6735 from unclejack/add_test_pr-6701
Add test for PR 6701
2014-06-27 11:05:18 -07:00
Michael Crosby ade6bd7785 Merge pull request #6234 from jzupka/fix_check_default_ip
Adds check if default ip address is correct format.
2014-06-27 10:53:15 -07:00
Erik Hollensbe e77729c2e0 Use last allocated port logic in port allocator
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-27 10:51:26 -07:00
Erik Hollensbe ffd68badc0 Make ErrPortAlreadyAllocated an error interface with a few extras,
adjust tests to fit.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-27 10:51:25 -07:00
Arnaud Porterie dafddf461e Restrict portallocator to Docker allocated ports
Port allocation status is stored in a global map: a port detected in use will remain as such for the lifetime of the daemon. Change the behavior to only mark as allocated ports which are claimed by Docker itself (which we can trust to properly remove from the allocation map once released). Ports allocated by other applications will always be retried to account for the eventually of the port having been released.

Docker-DCO-1.1-Signed-off-by: Arnaud Porterie <icecrime@gmail.com> (github: icecrime)
2014-06-27 10:51:25 -07:00
unclejack 38b005ec69 integcli: add test to ensure -v /:/ isn't allowed
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-27 19:51:24 +03:00
unclejack a1b6f350e8 correct typo - desination -> destination
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-27 19:49:40 +03:00
unclejack 510f1ba438 Merge pull request #6701 from crosbymichael/mount-root
Allow / as source of -v
2014-06-27 19:03:21 +03:00
Mike Chelen 815279c240 Update dockerimages.md
fix typo
2014-06-27 11:09:09 -04:00
Matthew Heon 4361366783 Document memory limit sizing in manpages
The -m flag permits the setting of a memory limit when running a Docker
container. The actual limit set must be a multiple of page size on Linux, so
whatever number the uses passes in will be rounded up if needed. Document this
behavior to prevent confusion. Also fixed several small formatting and grammar
issues in the docker run manpage.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-27 10:07:50 -04:00
Tianon Gravi 9b9d698081 Merge pull request #6729 from vincentbernat/fix/mkimage-use-var-tmp
Update mkimage scripts to use /var/tmp by default instead of /tmp
2014-06-27 08:04:05 -06:00
Jiří Župka 2fcbfb5a66 Adds check if default ip address is correct format.
It avoids hidden error when ports are redirected from
container to host using -p host_port:guest_port.

Docker-DCO-1.1-Signed-off-by: Jiří Župka <jzupka@redhat.com> (github: jzupka)
2014-06-27 15:55:20 +02:00
Vincent Bernat 287e604a8f mkimage: use /var/tmp by default instead of /tmp
Additionally, this can be overridden by setting the TMPDIR variable,
like this was already the case for the generic `mkimage.sh` script.

As explained in #6456, the rationale to use `/var/tmp` instead of `/tmp`
is that `/tmp` is often a small tmpfs filesystem with more restricted
rights.

Docker-DCO-1.1-Signed-off-by: Vincent Bernat <vincent@bernat.im> (github: vincentbernat)
2014-06-27 14:43:12 +02:00
Alexandr Morozov 57d86a5619 Use State waiting functions
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-27 15:07:40 +04:00
Alexandr Morozov 47065b9045 State refactoring and add waiting functions
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-27 15:05:48 +04:00
Sven Dowideit a7722d752d Merge pull request #6718 from mchelen/patch-1
Update dockerizing.md
2014-06-27 17:38:54 +10:00
Mike Chelen 0bfa14a70a Update dockerizing.md
fix typo
2014-06-27 02:34:47 -04:00
James Turnbull bc8d618cde Merge pull request #6716 from leeplay/master
Update nodejs_web_app.md
2014-06-26 23:21:36 -07:00
James Turnbull b074e9b01d Merge pull request #6676 from berendt/opensuse_import_public_gpg_key
Import public GPG key after adding the openSUSE repository
2014-06-26 23:21:10 -07:00
James Turnbull debbb26291 Merge pull request #6712 from SvenDowideit/pr_out_remove_superfluous_reptition_from_usingdocker_md
Remove superfluous reptition from usingdocker.md
2014-06-26 23:20:51 -07:00
leeplay 15ea1ca1f0 Update nodejs_web_app.md
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-06-27 11:39:58 +09:00
Jonathan Boulle d14cfc8d43 sort flags with the same name in a consistent order
Docker-DCO-1.1-Signed-off-by: Jonathan Boulle <jonathanboulle@gmail.com> (github: jonboulle)
2014-06-27 01:46:59 +00:00
Paul Weaver 748aaf3530 Remove superfluous reptition from usingdocker.md
Clarify wording about default docker ps options

Fix typo in dockerlinks.md

Docker-DCO-1.1-Signed-off-by: Paul Weaver <pauweave@cisco.com> (github: ch3pjw)
2014-06-27 11:43:29 +10:00
Sven Dowideit 425ab3da5e Merge pull request #6709 from SvenDowideit/show-my-orgs
Show the user's orgs, not-Sam's email
2014-06-27 11:38:52 +10:00
Sven Dowideit 5cabfd1526 Merge pull request #6694 from leeplay/examples
Update examples/nodejs_web_app
2014-06-27 11:27:02 +10:00
Tibor Vass 67f6b0fd43 Merge pull request #6703 from crosbymichael/update-libcontainer-dep
Update libcontainer to 53cfe0a1eba9145bf5329abb
2014-06-26 21:20:59 -04:00
SvenDowideit e817681581 Yes, ok, not-Sam
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-27 11:10:20 +10:00
Tibor Vass 6e3fe93148 Merge pull request #6579 from vieux/dockerignore
Rebased Dockerignore
2014-06-26 21:00:43 -04:00
Michael Crosby e35a9a7def Merge pull request #6683 from vieux/add_links_inspect
add links to inspect for 'linking' containers
2014-06-26 17:33:02 -07:00
Victor Vieux f7eaeae43c Merge pull request #6708 from crosbymichael/fix-bunk-test
Fix sleep command in tests
2014-06-26 17:10:58 -07:00
Michael Crosby 012091a28f Fix sleep command in tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 17:09:41 -07:00
Michael Crosby c9fdb08bda Update libcontainer Context changes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 16:56:39 -07:00
Michael Crosby 41e7523291 Update libcontainer to 53cfe0a1eba9145bf5329abbb52
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 16:56:39 -07:00
Michael Crosby cab7894808 Merge pull request #6657 from unclejack/refactor_truncindex
refactor TruncIndex to use a trie & vendor deps
2014-06-26 16:53:49 -07:00
Victor Vieux 250b0d070c add doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-26 23:36:29 +00:00
Michael Crosby aecdbf3471 Merge pull request #6696 from cpuguy83/remove_dup_run_tests
Remove integration tests moved to integration-cli(dups)
2014-06-26 16:29:32 -07:00
Victor Vieux 8162dc0312 fix rebase
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-26 22:51:47 +00:00
Victor Vieux 0098360726 abort on error and fix debug
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-26 22:49:08 +00:00
Victor Vieux 42ca8a064b add @tianon as maintainer of .dockerignore
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-26 22:49:08 +00:00
Travis Cline 9189db3aff Add .dockerignore support
Fixes #2224

Docker-DCO-1.1-Signed-off-by: Travis Cline <travis.cline@gmail.com> (github: tmc)
2014-06-26 22:49:08 +00:00
Travis Cline 111ab125b9 Change misnamed TarFilter to TarWithOptions
Docker-DCO-1.1-Signed-off-by: Travis Cline <travis.cline@gmail.com> (github: tmc)
2014-06-26 22:49:08 +00:00
Michael Crosby af025f2a95 Remove api test for bind mount /
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 15:39:45 -07:00
Solomon Hykes 69ec5824c3 Merge pull request #6625 from vieux/remove_dockerscript
remove dockerscript
2014-06-26 14:56:22 -07:00
Victor Vieux 55691e5fdc add links to inspect for 'linking' containers
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-26 20:51:38 +00:00
Matthew Heon fa3ac2d370 Fixed manpage generation script and README
Update md2man script to generate manpages inside docs/man/ directory. Update
usage documentation in the readme to point to the new docs/man path. Update
Ubuntu makefile to use new path to manpages

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-26 15:51:26 -04:00
Tibor Vass 363b49948a Merge pull request #6693 from tianon/bash-complete-force-rm
Add bash completion for "docker rm -f" and complete on all containers instead of just stopped containers when "-f" is specified
2014-06-26 15:06:02 -04:00
Victor Vieux 56a0f49dcc Merge pull request #6640 from ostezer/commands.go-linguistics-1
docker help -> grammatical correction (pos. adj. apost.)
2014-06-26 11:59:49 -07:00
Michael Crosby e39b8eade1 Allow / as source of -v
We discussed this at the docker plumbers meetup and for tools and
working on the system for things like boot2docker and coreos this is
needed.  You can already bypass this check so we felt it is ok to start
allowing this feature.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-26 10:50:18 -07:00
Brian Goff 7606412d53 Remove integration tests moved to integration-cli(dups)
integration/commands_test.go/TestRunHostname == integration-cli/docker_cli_run_tests.go/TestModeHostname
integration/commands_test.go/TestRunWorkdir  == integration-cli/docker_cli_run_tests.go/TestDockerRunWorkingDirectory
integration/commands_test.go/TestRunWorkdirExists  == integration-cli/docker_cli_run_tests.go/TestDockerRunWorkingDirectory
integration/commands_test.go/TestAttachstdIn == integration-cli/docker_cli_run_tests.go/TestRunStdinPipe
integration/commands_test.go/TestCmdLogs     == integration-cli/docker_cli_logs_tests.go
integration/commands_test.go/TestCmdKill     == integration-cli/docker_cli_kill_test.go

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-06-26 12:57:12 -04:00
Mike Snitzer a2f3ce2294 devmapper: add thin-pool blocksize to the 'docker info' output
Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-26 12:39:16 -04:00
Mike Snitzer 79f217e350 devmapper: document the default DM thin pool blocksize
Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-26 12:06:41 -04:00
Tianon Gravi 9aa840c50d Merge pull request #6690 from tianon/remove-apt-lists
Update contrib/mkimage/debootstrap to remove /var/lib/apt/lists
2014-06-26 08:13:12 -06:00
unclejack e0dad30579 refactor TruncIndex to use a trie & vendor deps
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-26 16:57:54 +03:00
O.S. Tezer 714c1bd8ca Anglicanisms: Grammatical correction (pos. adj. apost.)
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-26 08:41:58 +01:00
leeplay 6bb6e422b5 Update examples/nodejs_web_app
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-06-26 15:19:30 +09:00
Tianon Gravi 5e256799dd Add bash completion for "docker rm -f" and complete on all containers instead of just stopped containers when "-f" is specified
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-25 22:12:25 -06:00
Victor Vieux 87c5ecdd69 Merge pull request #6684 from unclejack/fix_testparserunvolumes
fix TestParseRunVolumes with Go 1.3 randomization
2014-06-25 18:54:25 -07:00
Victor Vieux 3051ffe0fa Merge pull request #6686 from SvenDowideit/commit-parens-update-6310
add missing docker commit parens (update 6310)
2014-06-25 18:30:00 -07:00
Tianon Gravi c42b5575e5 Update contrib/mkimage/debootstrap to remove /var/lib/apt/lists (trimming at least 40MB and forcing "apt-get update" in dependent images before packages can be installed)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-25 19:07:39 -06:00
Sven Dowideit 389916bf9a Add the missing paren to the documentation for docker commit too
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-06-26 11:06:45 +10:00
Trent Ogren 3fcb0d880a Add missing parenthesis in docs for -author switch
Docker-DCO-1.1-Signed-off-by: Trent Ogren <tedwardo2@gmail.com> (github: misfo)

Docker-DCO-1.1-Signed-off-by: Trent Ogren <tedwardo2@gmail.com> (github: SvenDowideit)
2014-06-26 11:06:45 +10:00
Sven Dowideit 917b7436af Merge pull request #6668 from erikh/fix-links-userguide
Add ticks to docker links userguide, was not being rendered properly.
2014-06-26 10:08:08 +10:00
Solomon Hykes fe31ea7d0f Merge pull request #6635 from SvenDowideit/deputise-fredlf 2014-06-25 17:00:57 -07:00
Solomon Hykes c9e647e42f Merge pull request #6218 from vieux/update_maintainers 2014-06-25 17:00:32 -07:00
James Turnbull 8eb34b2a0e Merge pull request #6626 from SvenDowideit/pr_out_updated_cloud_sdk_download_link_added_a_command_to_set_the_project
Updated Cloud SDK download link, added a command to set the project
2014-06-25 16:36:51 -07:00
James Turnbull 6b6e915b85 Merge pull request #6590 from robertbachmann/patch
Windows needs hardware virtualization
2014-06-25 16:36:30 -07:00
Tianon Gravi 5ef0fe4b53 Merge pull request #6136 from thatsamguy/add-mageia-mkimage
Add mkimage support for mageia using urpmi
2014-06-25 17:33:39 -06:00
Sven Dowideit 5f6a725332 add Docker version and branch to html header
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-06-25 16:23:33 -07:00
Sven Dowideit d3fde633bd Merge pull request #6639 from leeplay/userguide
Update dockervolumes.md
2014-06-26 09:19:34 +10:00
Tianon Gravi 02a0c7aca9 Merge pull request #6185 from jbeda/debian-init-fix
Make debian init work when called repeatedly in quick succession
2014-06-25 17:17:04 -06:00
Tibor Vass 5743151118 Merge pull request #6649 from vieux/fix_api_return_codes_start_stop
return 304 is status isn't modified in start and stop
2014-06-25 19:10:19 -04:00
Sven Dowideit d15bc4a342 Merge pull request #6665 from leeplay/patch-1
Update dockervolumes.md
2014-06-26 08:57:14 +10:00
unclejack f6e6cf9071 fix TestParseRunVolumes with Go 1.3 randomization
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-26 01:48:58 +03:00
Michael Crosby d91b8bcf0b Merge pull request #6646 from tiborvass/fix-workdir
Fix --workdir=/
2014-06-25 15:19:51 -07:00
unclejack 94370add05 Merge pull request #6661 from tiborvass/tar_untar_file
Improve untar when using files instead of directories. Specifies behavior on non-existant targets.
2014-06-26 00:37:42 +03:00
Victor Vieux 17f6535482 Merge pull request #6664 from LK4D4/bench_on_truncindex_delete
Add benchmarks on TrucnIndex.Delete
2014-06-25 14:30:28 -07:00
Michael Crosby 7be83a0857 Merge pull request #6669 from pwaller/issue-6652
Allow re-mounting an existing mount with "remount"
2014-06-25 14:18:25 -07:00
Peter Waller f87afda123 Allow re-mounting an existing mount with "remount"
Without this line of code, if a volume is present in /proc/mounts,
it cannot be remounted with new mount options.

Docker-DCO-1.1-Signed-off-by: Peter Waller <p@pwaller.net> (github: pwaller)
2014-06-25 22:06:24 +01:00
Tibor Vass b85f20cf13 Merge pull request #6666 from erikh/fix-escaping-whitespace
fix whitespace that precedes the escape in a multiline string.
2014-06-25 17:03:19 -04:00
Erik Hollensbe 03c5c1930d fix whitespace that precedes the escape in a multiline string.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-25 13:39:47 -07:00
Christian Berendt f3ea94a797 Add a step to verify if Docker is working as expected
Like in the other installation guides I added a simple test
to verify that importing images and starting containers is
working.

Docker-DCO-1.1-Signed-off-by: Christian Berendt <berendt@b1-systems.de> (github: berendt)
2014-06-25 21:57:54 +02:00
Christian Berendt 0b2b3221e2 Import public GPG key after adding the openSUSE repository
Docker-DCO-1.1-Signed-off-by: Christian Berendt <berendt@b1-systems.de> (github: berendt)
2014-06-25 21:53:45 +02:00
LK4D4 04a9fe1e62 Combined AddGet benchmark
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-25 22:49:38 +04:00
Tibor Vass baacc7006b add integration test for --workdir=/
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-25 11:02:59 -04:00
Tibor Vass 385c9b1a08 fix bug in FollowSymlinkInScope when link == root
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-25 11:02:59 -04:00
Tibor Vass 1c8d3106df improve untar when using files instead of directories. Specifies behavior on non-existant targets.
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-25 09:35:26 -04:00
Matthew Heon be4f4599a6 Update documentation noting that SIGCHLD is not proxied.
Docker's --sig-proxy option sends all signals but one to a container. The
exception s SIGCHLD, which is deliberately ignored as it doesn't make sense to
send such a signal to a process in a container. Documentation updates will make
this less confusing if anyone does attempt to do this.

Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-06-25 09:08:02 -04:00
Erik Hollensbe 6b29019541 Add ticks to docker links userguide, was not being rendered properly, fix spelling error in /etc/hosts
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-25 02:18:16 -07:00
hyeongkyu.lee 9026888b10 Update dockervolumes.md
~~~
kyu@kyu-HP-EliteBook-2570p:~/apps/docker/volume$ docker run -v /dbdata --name dbdata2 ubuntu
2014/06/25 14:17:44 Error response from daemon: No command specified
~~~
2014-06-25 14:53:59 +09:00
Alexandr Morozov 7c8445826f Add benchmarks on TrucnIndex.Delete
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-25 09:37:39 +04:00
James Turnbull 01d4fd76dd Merge pull request #6656 from andersryanc/master
Remove Docs viewport tag to fix iPhone scaling
2014-06-24 20:16:47 -07:00
Victor Vieux b18c721555 fix tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-25 01:44:48 +00:00
Sven Dowideit 11902d4ccb Merge pull request #6658 from amuino/doc_pause_unpause
Document the pause and unpause commands available on API v1.12 onwards
2014-06-25 10:00:36 +10:00
Victor Vieux c72cfa8d45 Merge pull request #6659 from vieux/pr_6248
Change floats to ints recursively on env encoding
2014-06-24 16:51:28 -07:00
LK4D4 1d3d1c5d2b Change floats to ints recursively on env encoding
Fixes #6246
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-24 23:39:26 +00:00
Michael Crosby e899700254 Merge pull request #6651 from erikh/6002-conflicting-iptables-options
Add mutex warning when specifying -icc or -ip-forward and -iptables=false
2014-06-24 15:56:05 -07:00
Erik Hollensbe 05f293e65e Add mutex warning when specifying -icc or -ip-forward and -iptables=false
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-24 15:49:35 -07:00
Abel Muiño 901a47daff Document the pause and unpause commands available on API v1.12 onwards
Docker-DCO-1.1-Signed-off-by: Abel Muiño <amuino@gmail.com> (github: amuino)
2014-06-25 00:41:57 +02:00
Ryan Anderson 7b1dd54d5d Remove viewport tag to fix iPhone scaling 2014-06-24 15:16:40 -07:00
Tibor Vass 4f5e91e3b4 Merge pull request #6654 from vieux/fix_test_search
Fix search integration-cli test
2014-06-24 17:51:07 -04:00
Sven Dowideit 11ef08402a Merge pull request #6629 from SvenDowideit/move-man-pages-to-docs
move the man pages to the docs/ dir
2014-06-25 07:50:09 +10:00
Victor Vieux 6d8e95557c Merge pull request #6643 from kzys/freebsd-cp
cp's -T and --reflink=auto are only available on GNU coreutils
2014-06-24 14:29:18 -07:00
Victor Vieux dd258553b1 Fix search integration-cli test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-24 21:16:34 +00:00
Michael Crosby 408963ed4d Merge pull request #6650 from crosbymichael/update-libcontainer-post-refactor
Update libcontainer dep to 5210a236b92a8022a673108f347
2014-06-24 13:51:04 -07:00
unclejack 1059e166fd Merge pull request #6595 from LK4D4/env_benchmarks
Benchmarks for engine/env
2014-06-24 23:35:00 +03:00
unclejack c4dbd4f7c0 Merge pull request #6648 from LK4D4/truncindex_bench
Truncindex benchmarks
2014-06-24 22:10:33 +03:00
Tibor Vass f6d11c8d50 Merge pull request #6216 from gsalgado/convert-integration-tests
Convert integration/api_test:TestGetEvents into a unit test and a CLI test
2014-06-24 14:53:10 -04:00
Victor Vieux 53b036032d return 304 is status isn't modified in start and stop
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-24 18:31:56 +00:00
Michael Crosby 1dc8e2ffab Rename libcontainer.Container to libcontainer.Config
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-24 11:31:03 -07:00
Michael Crosby cee6f4506c Update libcontainer references
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-24 11:31:03 -07:00
Michael Crosby 423a8f91d7 Update libcontainer to 5210a236b92a8022a673108f347
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-24 11:30:36 -07:00
LK4D4 01b424028e Benchmarks for engine/env
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-24 21:48:16 +04:00
LK4D4 7eb425ccd1 Improve truncindex benchmarks
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-24 21:41:51 +04:00
Victor Vieux e23e3a1600 Merge pull request #5413 from SvenDowideit/docker-info-list-sockets
Add Sockets (-H) list to `docker -D info`.
2014-06-24 10:40:53 -07:00
LK4D4 ed032ddfd6 Move truncindex in separate package in pkg/
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-24 21:19:15 +04:00
Mike Snitzer f9c078ef38 devmapper: remove extra space in DefaultThinpBlockSize assignment
Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-24 12:43:45 -04:00
Mike Snitzer 09ee269d99 devmapper: Add option for specifying the thin pool blocksize
Add dm.blocksize option that you can use with --storage-opt to set a
specific blocksize for the thin provisioning pool.

Also change the default dm-thin-pool blocksize from 64K to 512K.  This
strikes a balance between the desire to have smaller blocksize given
docker's use of snapshots versus the desire to have more performance
that comes with using a larger blocksize.  But if very small files will
be used on average the user is encouraged to override this default.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-24 12:10:28 -04:00
Mike Snitzer 2470a5ed99 devmapper: use RAMInBytes() rather than FromHumanSize()
Device Mapper needs device sizes in binary (1024) multiples.  Otherwise
kernel checks can find that the specified thin-pool device sizes aren't
a multiple of the specified thin-pool blocksize.

The name for "RAMInBytes" is likely too narrow given the new consumers
but... Also add "tebibyte" support to RAMInBytes.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-24 12:10:14 -04:00
Guilherme Salgado 1c291ccbbe Migrate TestGetEvents into a unit and a CLI test
Docker-DCO-1.1-Signed-off-by: Guilherme Salgado <gsalgado@gmail.com> (github: gsalgado)
2014-06-24 17:43:26 +02:00
Mike Snitzer d420134fa2 devmapper: fix reloadPool() to also specify '1 skip_block_zeroing'
createPool() and reloadPool() should be consistent with the thin-pool
table params they use.

Since createPool() specifies '1 skip_block_zeroing' reloadPool() should
too.  Otherwise, if the pool is reloaded (as is done when resizing
loopback devices) block zeroing will be enabled after the reload
completes.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-06-24 11:23:13 -04:00
Kato Kazuyoshi 733711481e cp's -T and --reflink=auto are only available on GNU coreutils
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-06-24 23:58:17 +09:00
kyu a51dc92379 Update dockervolumes.md
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-06-24 18:36:57 +09:00
Jonathan Camp 6e74754a50 Replace dashes in link name with underscores
Docker-DCO-1.1-Signed-off-by: Jonathan Camp <jonathan@irondojo.com> (github: kung-foo)
2014-06-24 09:04:02 +02:00
James Turnbull f1ac8962f9 Merge pull request #6633 from SvenDowideit/avoid-extra-gravatar-download
Lets not download the gravatar and then download a different one after t...
2014-06-23 23:58:15 -07:00
Senthil Kumar Selvaraj 21e258d732 Fix typo in README.md 2014-06-24 11:57:24 +05:30
SvenDowideit 87d522a557 Add Fred as docs MAINTAINER
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-24 15:45:44 +10:00
SvenDowideit c7a1bdf6c0 Lets not download the gravatar and then download a different one after the js is triggered
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-24 14:48:29 +10:00
SvenDowideit 42be6f2957 move the man pages to the docs/ dir
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-24 13:07:42 +10:00
SvenDowideit cf513185b0 move api docs to APIv1.13
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-24 12:25:18 +10:00
Sven Dowideit f54823bf05 Add Sockets (-H) list to docker -D info.
This will allow us to _know_ what the user's -H settings are, which may
be useful for debugging later.

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-06-24 12:25:17 +10:00
James Turnbull 664ba0c031 Merge pull request #6624 from jezenielzapanta/patch-1
Fix typo in the docs.
2014-06-23 19:20:20 -07:00
Sven Dowideit 67ba305841 Merge pull request #6623 from rogaha/fix_header_links
Fix header and About Docker links
2014-06-24 12:18:29 +10:00
Victor Vieux d7587aa976 Merge pull request #4812 from kzys/freebsd-mount
FreeBSD support on pkg/mount
2014-06-23 17:45:25 -07:00
Victor Vieux 6a762e8594 Merge pull request #6620 from vieux/deprecate_tag_args
Remove old tag format
2014-06-23 17:24:20 -07:00
James Turnbull 28c22cb7f9 Merge pull request #6599 from SvenDowideit/6478-update-fedora
Update fedora.md
2014-06-23 17:23:00 -07:00
Manfred Zabarauskas c5f1cb1121 Updated Cloud SDK download link, added a command to set the project
no DCO - considered a spelling fix

squashed by

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-24 09:07:10 +10:00
Victor Vieux 431a6736d2 remove dockerscript
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-23 22:52:03 +00:00
Sven Dowideit b49cfaffa8 Merge pull request #6617 from ifraixedes/patch-1
Update dockervolumes.md
2014-06-24 08:50:27 +10:00
Victor Vieux 2d195fb6f8 Merge pull request #5715 from proppy/context-tar
allow docker build - to accept a context tar from stdin
2014-06-23 15:33:21 -07:00
Victor Vieux 14ee021885 Merge pull request #6539 from LK4D4/fix_large_frame_in_stdcopy
Fix stdcopy when reads large frame at once
2014-06-23 13:52:30 -07:00
Johan Euphrosine edcb41451a api/client/build: allow tar as context for docker build -
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-06-23 13:34:09 -07:00
Michael Crosby 3f600c831b Merge pull request #6621 from LK4D4/move_sorter_tests_to_integration_cli
Move sorter_test from integration to integration-cli
2014-06-23 13:17:37 -07:00
Jezeniel Zapanta cf6834d797 Fix typo in the docs.
Fix a minor typographical error inside `run.md`.
2014-06-24 03:26:22 +08:00
Roberto G. Hashioka edf16383c6 Fix header and about Docker links 2014-06-23 18:35:15 +00:00
LK4D4 386d1ecc6e Move sorter_test from integration to integration-cli
TestServerListOrderedImagesByCreationDateAndTag was redundant and broken
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-23 22:19:52 +04:00
Victor Vieux 62b2b1bac3 Merge pull request #6532 from jonboulle/fix_capitals
be consistent in capitalization of Docker
2014-06-23 11:14:27 -07:00
Victor Vieux 8228d0e2bb Remove old tag format
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-23 17:52:03 +00:00
Victor Vieux c32036fa9b Merge pull request #6585 from kzys/runconfig-fatalf
Fatal() doesn't take a format string like Fatalf()
2014-06-23 10:24:01 -07:00
Tianon Gravi 549e34b3d7 Merge pull request #6572 from tianon/better-debootstrap-self-documentation
Add a ton of simple improvements to contrib/mkimage/debootstrap, especially comments in the extra files put inside the image
2014-06-23 11:12:02 -06:00
Ivan Fraixedes 3ce5fde7ab Update dockervolumes.md
Missed double hyphen in `--volumes-from` option
2014-06-23 16:08:34 +01:00
Sven Dowideit fa8f89c521 Merge pull request #6536 from dgageot/patch-2
Fix flag names
2014-06-23 15:26:08 +10:00
James Turnbull 10b8d6b8b0 Merge pull request #6583 from jamtur01/sshd
Updated SSH example to ensure it continues working
2014-06-23 01:17:35 -04:00
James Turnbull 09e694aa7d Merge pull request #6611 from SvenDowideit/remove-spurious-dollar-signs
Remove `$` leaders from examples of editing text in a file
2014-06-23 01:13:42 -04:00
SvenDowideit 4d7e28a7d7 Remove $ leaders from examples of editing text in a file
not everything that is indented is a commandline example

Closes #6591

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-23 14:50:11 +10:00
Alexander Shopov 9559f57463 Update fedora.md
Docker-DCO-1.1-Signed-off-by: Alexander Shopov <ash@kambanaria.org> (github: alshopov)

Squashed by

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

replaces #6478

Docker-DCO-1.1-Signed-off-by: Alexander Shopov <ash@kambanaria.org> (github: )
2014-06-22 19:39:45 -07:00
James Turnbull ad19e5e133 Merge pull request #6581 from fredlf/copyedit_dockerrepo
Revised and fixed links on dockerrepo.md
2014-06-22 22:17:40 -04:00
Sven Dowideit 875b0698e8 Merge pull request #6426 from tianon/fix-import-man-error
Fix contrib/man/md/docker-import.1.md warning ("macro `tar.gz,' not defined")
2014-06-23 11:48:35 +10:00
James Turnbull 22cf1586cf Merge pull request #6605 from SvenDowideit/6423-remove-b2d-ssh-passphrase-prompt
Remove mention of SSH passphrase, it was only present in v0.12
2014-06-22 20:54:22 -04:00
Sven Dowideit 1e847bff7a Remove mention of SSH passphrase, it was only present in v0.12
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-06-22 17:36:02 -07:00
James Turnbull e876067e34 Merge pull request #6598 from SvenDowideit/6394-missing-redirect
one last missing docs redirect
2014-06-22 19:06:27 -04:00
Sven Dowideit 51d032737c one last missing redirect
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-06-22 16:01:21 -07:00
Robert Bachmann ba7245f072 Windows needs hardware virtualization
VirtualBox needs hardware virtualization for
64-bit guests.

Docker-DCO-1.1-Signed-off-by: Robert Bachmann <rb@robertbachmann.at> (github: robertbachmann)
2014-06-21 23:14:23 +02:00
Kato Kazuyoshi 00469957ad Fatal() doesn't take a format string like Fatalf()
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-06-21 17:32:39 +09:00
Fred Lifton ab0fc77ebe Fixed a typo
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-06-20 17:52:30 -07:00
Fred Lifton c70fbae3ed Revised and fixed links on dockerrepo.md
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-06-20 17:10:20 -07:00
Sven Dowideit ad19f1beb7 Merge pull request #6578 from ch3pjw/documentation_fix
Fix minor typo and improve wording
2014-06-21 09:57:25 +10:00
Tianon Gravi 506ad22743 Merge pull request #6553 from tianon/disable-netgo-for-dynbinary
Disable netgo for dynbinary builds
2014-06-20 17:51:12 -06:00
Tibor Vass d6f7725e58 Merge pull request #6529 from qwazerty/master
Fix minor typo
2014-06-20 17:37:07 -04:00
Paul Weaver 5266d6fa7b Clean up some uses on 'an' in builder docs 2014-06-20 22:36:31 +01:00
Paul Weaver 1bcc37caec Fix minor typo and improve wording 2014-06-20 22:21:18 +01:00
Jonathan Boulle 6d14e9f1ac be consistent in capitalization of Docker
Docker-DCO-1.1-Signed-off-by: Jonathan Boulle <jonathanboulle@gmail.com> (github: jonboulle)
2014-06-20 14:05:46 -07:00
unclejack a5f5d5e8d7 Merge pull request #6571 from vbatts/vbatts-raw_json
raw json for `docker save`
2014-06-20 23:55:10 +03:00
Michael Crosby 8ee1f2a9e9 Merge pull request #6516 from LK4D4/validate_logs_params
Validate that one of streams choosen in logs on api side
2014-06-20 13:43:31 -07:00
Michael Crosby 189967a12a Merge pull request #6503 from LK4D4/verbose_parallel_error_pull_#6484
More verbose error for parallel pull
2014-06-20 13:29:51 -07:00
Vincent Batts d3bc787bca docker save: raw json
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-20 14:38:17 -04:00
Matthew Heon f55fa8211b Escape control and nonprintable characters in docker ps
The docker ps command displays the user-entered command running in a container.
If that command contained \n, \t, or other control characters, they were
interpreted literally, and newlines and tabs would be printed in the output.
Escape the command string to make things more readable.

Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-06-20 12:22:31 -04:00
Tianon Gravi a206186f84 Add a ton of simple improvements to contrib/mkimage/debootstrap, especially comments in the extra files put inside the image
This also adds support for squeeze-lts. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-20 10:11:26 -06:00
Brian Goff ff1ea0064b Add cpuguy83 as volumes maintainer
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-06-20 09:40:29 -04:00
Sven Dowideit b2eb79b7da Merge pull request #6565 from shaunol/patch-1
Update windows.md
2014-06-20 23:27:12 +10:00
Sven Dowideit ed833bb62d Merge pull request #6568 from jokajak/patch-2
Minor typo/format fixes for dockerlinks.md
2014-06-20 23:23:03 +10:00
James Turnbull 0d63d68e33 Merge pull request #6540 from lalyos/docs-installation-mac-windows
Fix installation docs to use the new boot2docker command: ip
2014-06-20 08:02:56 -05:00
James Turnbull a32f3b4b50 Merge pull request #6566 from jokajak/patch-1
Fix typo in networking.md
2014-06-20 07:59:35 -05:00
Josh 66bccf3064 Minor typo/format fixes
This fixes a code block typo so it renders as a code block.  Additionally synchronizes the variable prefix examples from 'DB' and 'DB1_' to 'DB_' and 'DB1_'
2014-06-20 07:49:22 -04:00
Sven Dowideit c60cde1499 Merge pull request #6564 from financeCoding/docs-installation-google-fix
full url to GCE image
2014-06-20 21:41:35 +10:00
Josh cbdce9912d Fix typo in networking.md
Minor typo fix
2014-06-20 07:14:56 -04:00
shaunol db9bf744ab Update windows.md
Update Program Files path description, the default install folder is "Boot2Docker", rather than "Docker"
2014-06-20 19:23:35 +12:00
Adam Singer 4efe02b3df full url to GCE image
Docker-DCO-1.1-Signed-off-by: Adam Singer <financeCoding@gmail.com> (github: financeCoding)
2014-06-19 22:01:10 -07:00
James Turnbull 4e286a9094 Merge pull request #6548 from jamtur01/sec
Fixed #6545 - Updated Security article
2014-06-19 20:21:07 -05:00
Victor Vieux 8554841c6a Merge pull request #6563 from vieux/merge_release_v1.0.1
Merge release v1.0.1
2014-06-19 18:09:07 -07:00
Victor Vieux 49376ec448 Change version to 1.0.1-dev
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-20 01:06:48 +00:00
Victor Vieux 7030cdce59 Merge pull request #6559 from vieux/bump_v1.0.1
Bump v1.0.1
2014-06-19 18:03:54 -07:00
Victor Vieux 990021ac2b Bump version to v1.0.1
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-19 23:11:34 +00:00
Victor Vieux 41d405fa53 Merge pull request #6557 from crosbymichael/update-libcontainer-1.0.1
Update libcontainer dep to v1.0.1
2014-06-19 15:43:30 -07:00
Michael Crosby 8d06bfc12e Update libcontainer dep to v1.0.1
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-19 15:23:19 -07:00
Tianon Gravi 98ea12ac38 Merge pull request #6554 from tianon/fix-dyntest
Fix dyntest and rename it to dyntest-unit to match the test-unit rename
2014-06-19 16:04:24 -06:00
Victor Vieux 7ba8788919 Merge pull request #6527 from subhraveti/cap-whitelist
Maintain a whitelist of capabilities rather than droplist
2014-06-19 14:48:38 -07:00
James Turnbull bf69b773ec Fixed #6545 - Updated Security article
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-19 16:13:20 -05:00
Tianon Gravi 986a151b8a Fix dyntest and rename it to dyntest-unit to match the test-unit rename
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-19 15:06:34 -06:00
Michael Crosby abda245ddc Merge pull request #6493 from vieux/fix_cp_mac_os
allow utimes on mac os, only lutimes isn't supported
2014-06-19 14:00:59 -07:00
Tibor Vass 4ad5af81c8 Merge pull request #6552 from vbatts/vbatts-gh6551
sqlite-3.6.20-1 unique constraint message
2014-06-19 16:54:43 -04:00
Tianon Gravi 3f7909e996 Disable netgo for dynbinary builds
It's not necessary to use the netgo implementation for non-static builds. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-19 14:35:30 -06:00
Michael Crosby 707ef9618b Update close fd issues for lxc
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-19 16:02:21 -04:00
Michael Crosby d31ae5aed8 Use libcontainer cap drop method
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-19 16:00:53 -04:00
Vincent Batts b4857dffa8 sqlite-3.6.20-1 unique constraint message
https://github.com/dotcloud/docker/issues/6551

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-19 15:24:22 -04:00
Tianon Gravi 2eac1c4bc5 Merge pull request #6547 from tianon/update-bash-completion-for-pushing-tags
Update bash-completion to reflect ability to push single tags
2014-06-19 12:40:31 -06:00
LK4D4 d17c929659 Fix stdcopy when reads large frame at once
Fixes TestLogsContainerMuchBiggerThanPage with go 1.3(#6520)
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-19 21:42:55 +04:00
Tianon Gravi bdf4b74b52 Update bash-completion to reflect ability to push single tags
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-19 10:11:32 -06:00
James Turnbull 346a350df4 Merge pull request #6538 from leeplay/patch-2
Update dockerlinks.md
2014-06-19 10:59:48 -05:00
unclejack 181e54bff3 Merge pull request #6451 from cyphar/6445-fix-onbuild-passing-to-grandchildren
Ensure that ONBUILD triggers aren't committed to grandchildren
2014-06-19 18:11:33 +03:00
Kevin "qwazerty" Houdebert d7e5fdfb58 Fix minor typo
Docker-DCO-1.1-Signed-off-by: Kevin Houdebert kevin.houdebert@gmail.com (github: qwazerty)
2014-06-19 14:49:52 +02:00
James Turnbull 10eae16fa7 Updated SSH example to ensure it continues working
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-19 07:44:41 -05:00
James Turnbull 874698cb4a Merge pull request #6524 from behemphi/patch-1
Update dockerizing.md
2014-06-19 07:06:02 -05:00
lalyos 40966fa096 Fix installation docs to use the new boot2docker command: ip
Docker-DCO-1.1-Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com> (github: lalyos)
2014-06-19 13:00:45 +02:00
cyphar a57298791c integration-cli: add build test for NOCACHE
This patch adds CLI integration tests to ensure that NOCACHE instructions
in Dockerfiles only apply to direct children of the original image.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-06-19 20:33:17 +10:00
cyphar 7303467c77 server: buildfile: ensure that ONBUILD triggers aren't committed
This patch fixes the bug where ONBUILD triggers are committed each build
step created during the ONBUILD trigger execution, since the triggers are
only wiped *after* all ONBUILD trigger steps have been committed. This was
fixed by simply copying the ONBUILD triggers and wiping the config
*before* committing anything.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-06-19 20:33:17 +10:00
hyeongkyu.lee 7b1f34d626 Update dockerlinks.md
Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
2014-06-19 18:45:31 +09:00
David Gageot 80bc06f1cf Fix flag names 2014-06-19 11:25:14 +02:00
Dinesh Subhraveti cf331cdd6a Maintain a whitelist of capabilities rather than droplist
This fixes 6/18 vulnerability

Docker-DCO-1.1-Signed-off-by: Dinesh Subhraveti <dineshs@altiscale.com> (github: dineshs-altiscale)
2014-06-19 03:34:04 -04:00
James Turnbull b1c114c3a7 Merge pull request #6519 from fredlf/latest-copyedits
Copy edits to dockerhub.md, fixed a broken link.
2014-06-19 01:45:20 -05:00
Tianon Gravi b13cdb01bd Merge pull request #6427 from tianon/fix-zsh-completion-mode
Fix mode on contrib/completion/zsh/_docker (-x)
2014-06-18 23:01:07 -06:00
Tianon Gravi f619243099 Fix mode on contrib/completion/zsh/_docker (-x)
ZSH completion scripts aren't supposed to be executable - they're sourced by ZSH and aren't run directly.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-18 22:59:20 -06:00
Boyd Hemphill a841152069 Update dockerizing.md 2014-06-18 22:50:56 -05:00
Solomon Hykes 30313cacce Merge pull request #6363 from proppy/patch-5
MAINTAINERS: add proppy for google.md
2014-06-18 18:03:29 -07:00
Fred Lifton 8646bf4a40 Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredfl) 2014-06-18 17:50:24 -07:00
Tibor Vass 421707f638 Merge pull request #6518 from vieux/finish_remove_insert
cleanup all mentions of insert
2014-06-18 20:06:29 -04:00
Sven Dowideit a790d3309c Merge pull request #6424 from tianon/fix-minor-md2man-bug
Fix minor bug in contrib/man/md/md2man-all.sh causing the creation of contrib/man/manREADME
2014-06-19 09:57:23 +10:00
O.S. Tezer df217f5377 Merge pull request #6517 from ostezer/docs-styles-update
Docs styles update
2014-06-18 16:53:46 -07:00
Sven Dowideit c60d178ad0 Merge pull request #6488 from crosbymichael/readme-security
Add security message to readme
2014-06-19 09:52:55 +10:00
Victor Vieux b132e7b36d discard ErrNotSupportedPlatform
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-18 23:42:22 +00:00
Victor Vieux 1ca7964cdd Merge pull request #6257 from proppy/test-conntimeout
utils: add test for TimeoutConn
2014-06-18 16:23:39 -07:00
Victor Vieux 3e2a9f667f cleanup all mentions of insert
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-18 23:13:54 +00:00
Victor Vieux 7a0e599142 Merge pull request #6066 from tiborvass/5693-volumes-from-symlink-path
5693 volumes from symlink path
2014-06-18 16:10:37 -07:00
O.S. Tezer 381050b1ee Docs styling update/upgrade
Closes https://github.com/dotcloud/docker/issues/6514
Closes https://github.com/dotcloud/docker/issues/6377
Closes https://github.com/dotcloud/docker/issues/6514
Closes https://github.com/dotcloud/docker/pull/6502

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-18 16:09:03 -07:00
Victor Vieux f3db32c035 Merge pull request #6505 from vdloo/master
Fixes typo in loopback device error message
2014-06-18 15:55:51 -07:00
Michael Crosby d803523cdc Merge pull request #5559 from bmurphy1976/bmurphy1976-history-bug
Test and fix history command ordering
2014-06-18 14:34:00 -07:00
Michael Crosby 443d923f08 Merge pull request #6244 from tiborvass/fix_release_checklist
Fix documentation for release-checklist
2014-06-18 13:52:51 -07:00
Tibor Vass 586e72218c Fix documentation for release-checklist
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-18 16:45:15 -04:00
Rick van de Loo 98041d26bb Fixes typo in loopback device error message
Docker-DCO-1.1-Signed-off-by: Rick van de Loo <rickvandeloo@gmail.com> (github: vdloo)
2014-06-18 22:09:28 +02:00
Tibor Vass 48907d57ed fix bug in getRootResourcePath in previous commit
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-18 15:51:28 -04:00
cyphar 5c069940db daemon: *: updated getResourcePath and getRootResourcePath signatures
This patch updates container.getResourcePath and container.getRootResourcePath
to return the error from symlink.FollowSymlinkInScope (rather than using utils).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)

Remove Inject to help rebase

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)

Docker-DCO-1.1-Signed-off-by: cyphar <cyphar@cyphar.com> (github: tiborvass)
2014-06-18 15:51:28 -04:00
Tibor Vass 65d4047cb6 expose unresolved path for volumes and resolve symlink in container.getResourcePath
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-18 15:51:27 -04:00
Tibor Vass def86d0cf4 rename TestVolumeWithSymlink to TestCreateVolumeWithSymlink and remove run_tests folder
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-18 15:51:27 -04:00
Tibor Vass c4c92e66cd add integration test
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-18 15:50:39 -04:00
LK4D4 216b4c9cf6 Validate that one of streams choosen in logs on api side
Fixes #6506

There is the bug, that very hard to fix: When we return job.Errorf in
"logs" job it writes to job.Stderr, to which connected ResponseWriter and on
this write w.WriteHeader(http.StatusOK) is called. So, we get 200 on error
from "logs" job.

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-18 23:34:46 +04:00
Alexandr Morozov 3303789b4f More verbose error for parallel pull
Partially fixes #6484
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-18 23:30:52 +04:00
Victor Vieux 7c52ab7f83 Merge pull request #5878 from timthelion/docs-docker-readme
Add README.md file for the docker directory
2014-06-18 12:19:43 -07:00
Michael Crosby 40b55a4174 Merge pull request #6399 from dvberkel/master
use a numbered list for maintainers responsibility
2014-06-18 11:57:46 -07:00
Michael Crosby f53b922f40 Merge pull request #6495 from vieux/pr_6269
Fix go vet errors
2014-06-18 11:02:17 -07:00
LK4D4 f08cd445b0 Fix go vet errors
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-18 17:39:57 +00:00
NikolaMandic 962e1186f9 removed expect from mkimage-arch since it was not working
Docker-DCO-1.1-Signed-off-by: NikolaMandic <mn080202@gmail.com> (github: NikolaMandic)
2014-06-18 19:25:51 +02:00
Michael Crosby d9d08c5ef5 Wrap lines in security notice
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-18 10:15:51 -07:00
Tibor Vass 331ae9c0f8 Merge pull request #6487 from vbatts/vbatts-error_info
adding a little uniqueness, to wrapped errors.
2014-06-18 11:43:59 -04:00
Matthew Heon 06cd125e64 Increase size of buffer for signals
The chan struct used to forward signals to containers was one element only,
which caused some signals to be dropped when many were being received.
Increasing the size of the chan buffer makes this much less likely to happen.

Docker-DCO-1.1-Signed-off-by: Matt Heon <mheon@redhat.com> (github: mheon)
2014-06-18 10:51:44 -04:00
James Turnbull 4195fc0494 Merge pull request #6497 from SvenDowideit/awscli-changes
pin awscli to 1.3.9, and then complexify the sync's to make them more li...
2014-06-18 08:46:30 -05:00
James Turnbull ffe3ae7bfb Merge pull request #6499 from SvenDowideit/add-redirects-for-renames
compared the 0.11 sitemap to the 1.0 one and these are the differences
2014-06-18 08:43:32 -05:00
James Turnbull 2294294e19 Merge pull request #6468 from jstoja/6374-docs-apache-image
Docs: apache image on installation
2014-06-18 08:19:58 -05:00
Daan van Berkel cc96d31252 use a numbered list for maintainers responsibility
At the moment maintainers responsibility are spelled out with a hybrid
list. I.e. an unordered list with an associated number.

In this commit I the number list proper is used.

Docker-DCO-1.1-Signed-off-by: Daan van Berkel <daan.v.berkel.1980@email.com> (github: dvberkel)
2014-06-18 14:31:26 +02:00
James Turnbull 0c5d9626b8 Merge pull request #6500 from leeplay/userguide
fixed docker port command
2014-06-18 01:25:28 -05:00
kyu 438d26b405 fixed docker port command 2014-06-18 15:01:29 +09:00
SvenDowideit 42fe9327b9 compared the 0.11 sitemap to the 1.0 one and these are the differences
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-18 15:39:30 +10:00
SvenDowideit 6b352d1cfe pin awscli to 1.3.9, and then complexify the sync's to make them more likely to complete
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-18 12:38:45 +10:00
Victor Vieux f0ec901819 Merge pull request #6490 from icecrime/6203-artifacts_on_events_output
Avoid erasing line for non-progress messages
2014-06-17 16:26:51 -07:00
Victor Vieux 04bfa8e91f allow utimes on mac os, only lutimes isn't supported
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-17 23:19:42 +00:00
Tibor Vass d0fe1147ea Merge pull request #6199 from icecrime/event_subscription_refactoring
Event subscription refactoring
2014-06-17 17:39:28 -04:00
unclejack ec0fb311ed Merge pull request #6415 from LK4D4/increase_timeout_in_test_attach
Increase time before exit in TestMultipleAttachRestart
2014-06-18 00:36:18 +03:00
Michael Crosby 4dcf4e9bd0 Merge pull request #6320 from LK4D4/fix_stdcopy_eof
Don't exit on eof in header reading in stdcopy
2014-06-17 14:20:13 -07:00
Victor Vieux 3336bdf5b5 Merge pull request #6489 from vieux/fix_mflags_panic
prevent panic when empty flag
2014-06-17 14:04:20 -07:00
Michael Crosby ba4ae2c46d Merge pull request #6405 from gsalgado/migrate-test-getcontainersbyname
Convert TestGetContainersByName into a unit test
2014-06-17 14:01:42 -07:00
Tibor Vass 092826152c Merge pull request #6485 from crosbymichael/update-libcontainer
Update libcontainer dependency to 77ffd49dfedbc78a
2014-06-17 16:57:35 -04:00
Victor Vieux c7fdd51eb6 Merge pull request #6471 from LK4D4/more_buildfile_tests_to_cli
Move more buildfile tests to integration-cli
2014-06-17 13:54:55 -07:00
Victor Vieux 661a1e9026 prevent panic when empty flag
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-17 20:45:57 +00:00
Arnaud Porterie 3807f8b708 Avoid erasing line for non-progress messages
The JSONMessage.Display methods erases the entire line by outputting the <ESC>[2K\r sequence before displaying the message content. This is not necessary for messages other than progress indicators, and introduces unwanted characters in the /events output.

Fixes #6203.

Docker-DCO-1.1-Signed-off-by: Arnaud Porterie <icecrime@gmail.com> (github: icecrime)
2014-06-17 22:40:34 +02:00
Michael Crosby 9e2cc4fcd9 Add security message to readme
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-17 13:26:26 -07:00
Michael Crosby 698ded75b9 Update libcontainer dependency to 77ffd49dfedbc78a
Fixes #6256
Fixes #6383
Fixes #6414

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
2014-06-17 13:09:36 -07:00
Vincent Batts 4902f047d3 adding a little uniqueness, to wrapped errors.
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-17 16:07:34 -04:00
Arnaud Porterie d0c4e44863 Refactor events publishing
Events subscription (/events API endpoint) attributes pseudo-unique identifiers to incoming subscribers: originally its host, then its subscription time. This is unecessary and leads to code complexity.

Introduce a JSONMessagePublisher to provide simple pub/sub mechanism for JSONMessage, and rely on this new type to publish events to all subscribed listeners. The original logic is kept for the 'since' and 'until' parameters, and for client disconnection handling.

Docker-DCO-1.1-Signed-off-by: Arnaud Porterie <icecrime@gmail.com> (github: icecrime)
2014-06-17 21:56:22 +02:00
Alexandr Morozov cc42eeac21 Move TestBuildAddToSymlinkDest to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 23:44:30 +04:00
O.S. Tezer 52edbe6a23 Merge pull request #6356 from mattyw/master
fixed a broken link in the readme
2014-06-17 11:00:46 -07:00
mattyw d4ec4d6e9b fixed a broken link in the docs
Docker-DCO-1.1-Signed-off-by: Matt Williams <lp@mattyw.net> (github: mattyw)
2014-06-17 18:36:59 +01:00
Julien Bordellier 207d7807af Now using the nginx docker image instead of the apache one. dotcloud/docker/issues/6374
Docker-DCO-1.1-Signed-off-by: Julien Bordellier <me@julienbordellier.com> (github: jstoja)
2014-06-18 00:38:04 +08:00
James Turnbull bf9482987f Merge pull request #6470 from adelton/dns-no-hostname
The docker run --dns does not resolve hostname and having hostname in resolv.conf does not work.
2014-06-17 10:13:12 -05:00
James Turnbull 0ba7f934ee Merge pull request #6473 from leeplay/userguide
fix missing TAG for docker run
2014-06-17 06:23:06 -05:00
James Turnbull 087acccf0c Merge pull request #6469 from mariusv/patch-1
fixed Automated Build page link
2014-06-17 06:16:35 -05:00
kyu cac97b6bd8 fix wrong command 2014-06-17 17:49:34 +09:00
Jan Pazdziora e278082c21 The docker run --dns does not resolve hostname and having hostname in resolv.conf does not work.
Docker-DCO-1.1-Signed-off-by: Jan Pazdziora <jpazdziora@redhat.com> (github: adelton)
2014-06-17 09:40:59 +02:00
Alexandr Morozov 690711b584 Move TestBuildOnBuildForbiddenMaintainerTrigger to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:39:47 +04:00
Alexandr Morozov 1c8ec01c55 Move TestBuildOnBuildForbiddenFromTrigger to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:36:45 +04:00
Marius Voila 2ed8b22099 fixed Automated Build page link
Corrected the link in the Automated Builds page from  https://registry.hub.docker.io/builds/ to https://registry.hub.docker.com/builds/ as the *.io is not working
2014-06-17 08:24:56 +01:00
Alexandr Morozov 1e0e86360f Move TestBuildOnBuildForbiddenChainedTrigger to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:24:47 +04:00
Alexandr Morozov 2629e2ec23 Move TestBuildOnBuildTrigger to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:14:45 +04:00
Alexandr Morozov 08a10f936b Move TestBuildFailsDockerfileEmpty to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:06:44 +04:00
Alexandr Morozov d3023f25f5 Move TestBuildFails to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:06:40 +04:00
Alexandr Morozov f1d7ed35bd Move TestBuildInheritance to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:05:45 +04:00
Alexandr Morozov 62d97afaf8 Move TestBuildADDFileNotFound to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 11:05:36 +04:00
Alexandr Morozov 686786f107 Move TestForbiddenContextPath to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 10:38:45 +04:00
Alexandr Morozov c5b82f5e8d Move TestBuildEntrypointRunCleanup to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-17 10:16:36 +04:00
Guilherme Salgado c44c98edec Convert TestGetContainersByName into a unit test
Docker-DCO-1.1-Signed-off-by: Guilherme Salgado <gsalgado@gmail.com> (github: gsalgado)
2014-06-17 07:56:57 +02:00
O.S. Tezer da327c8fa3 Merge pull request #6464 from SvenDowideit/pr_out_exclaimation_marks_cause_shell_pain_simplify_it_away
exclaimation marks cause shell pain - simplify it away
2014-06-16 18:13:24 -07:00
Victor Vieux 6228761f67 add a test using the flags
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-17 01:05:13 +00:00
Victor Vieux 614c57c521 improve test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-17 00:59:51 +00:00
SvenDowideit 21849f1a21 exclaimation marks cause shell pain - simplify it away
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-17 10:49:23 +10:00
Sven Dowideit 5e8402568e Merge pull request #6462 from SvenDowideit/pr_out_fixup_small_formatting
fixup small formatting
2014-06-17 10:41:58 +10:00
SvenDowideit 7e9fbbba1c fixup small formatting
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-17 10:39:12 +10:00
Richard Harvey 2c5405f699 Updated Viewing App when on OSX
Added section to show how to get IP address and view running python app if the user is using boot2docker on OSX

Docker-DCO-1.1-Signed-off-by: Richard Harvey <richard@squarecows.com> (github: richarvey)

Docker-DCO-1.1-Signed-off-by: Richard Harvey <richard@squarecows.com> (github: SvenDowideit)
2014-06-17 10:39:11 +10:00
Sven Dowideit b3e80c6935 Merge pull request #6438 from jamtur01/opts
Fixed DOCKER_OPTS
2014-06-17 10:16:07 +10:00
Michael Crosby 742d8bf922 Merge pull request #6417 from mrunalp/dev/system_prctl
Add helper function to make prctl system call.
2014-06-16 17:13:06 -07:00
Victor Vieux 3e4e8636c1 do not alter json in docker save
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-17 00:06:21 +00:00
Sven Dowideit 8f6162f17b Merge pull request #6240 from pmorie/docs
Add ApiVersion to doc example for remote API 1.12 /version
2014-06-17 09:21:21 +10:00
Sven Dowideit d5f7b4df1b Merge pull request #6306 from mheon/fix_manpage_issue
Update documentation for docker pull
2014-06-17 09:13:29 +10:00
Sven Dowideit 95ca361df6 Merge pull request #6459 from ostezer/issue-5036-main-nav-top-level-click
Issue #5036 -> Click on nav bar goes to top level doc
2014-06-17 09:08:37 +10:00
Sven Dowideit 4e2cf53f4f Merge pull request #6449 from timthelion/host-net-docs
Document the potential insecurity of --net host
2014-06-17 09:06:27 +10:00
Victor Vieux d671768b52 Merge pull request #6430 from LK4D4/lock_inspect
Do inspect under container lock
2014-06-16 15:31:08 -07:00
Victor Vieux 06248d745a update MAINTAINERS files
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-16 22:20:07 +00:00
James Turnbull 69a1f53e70 Merge pull request #6458 from ostezer/docs-code-block-scrolling
Issue #5279 -> Introduce horizontal scrolling to code-blocks
2014-06-16 16:14:17 -05:00
O.S. Tezer 8ae966de75 Issue #5036 -> Click on nav bar goes to top level doc
Closes issue #5036

This commit redirects the reader to top level doc upon clicking
on a main nav. menu item (eg. Installation [click] -> Mac OS X)

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-16 13:51:56 -07:00
Timothy ed5054389a Document the potential insecurity of --net host
Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-06-16 20:40:07 +00:00
O.S. Tezer 7a7bb43db5 Issue #5279 -> Introduce horizontal scrolling to code-blocks
Closes issue #5279

This commit re-introduces horizontal scrolling to docs' codeblocks

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-16 13:29:20 -07:00
Matthew Heon 03ae463c8d Updated CLI documentation for docker pull with notes on specifying URL
Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-16 15:58:05 -04:00
Tianon Gravi a6ce867e48 Merge pull request #6425 from tianon/fix-man-page-spelling-errors
Fix several man page spelling errors
2014-06-16 13:24:10 -06:00
Matthew Heon aab9078ff9 Updated docker pull manpage to reflect ability to specify URL of registry.
Also fixed a typo in same file.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-16 15:13:47 -04:00
James Turnbull 4e20407d82 Merge pull request #6304 from glyn/mac-build-no-sudo
Do not build using sudo on Mac OS X
2014-06-16 09:45:52 -04:00
Glyn Normington 1c05ddd645 Do not build using sudo on Mac OS X
Building using sudo fails on Mac OS X, but is necessary on Linux.

See https://groups.google.com/d/topic/docker-dev/1EW_pfA1t9o/discussion for discussion.

Docker-DCO-1.1-Signed-off-by: Glyn Normington <gnormington@gopivotal.com> (github: glyn)
2014-06-16 14:39:48 +01:00
Solomon Hykes f83c873d8b Merge pull request #6448 from shykes/pr_out_guillaume_is_busy_full_time_on_his_new_business_and_no_longer_available_as_a_maintainer 2014-06-16 06:25:19 -07:00
Solomon Hykes 41d437117d Guillaume is busy full-time on his new business, and no longer available
as a maintainer.

Best of luck on your e-commerce business Guillaume, and thanks for all
the great contributions!

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-06-16 06:22:15 -07:00
James Turnbull 7085ec875f Merge pull request #6443 from catharsis/patch-1
dockervolumes: Fix a minor typo
2014-06-16 09:09:32 -04:00
Sven Dowideit 2b468dc283 Merge pull request #6437 from jamtur01/net
Fixed headers and ' characters
2014-06-16 20:19:03 +10:00
Anton Löfgren 8df0b12d82 dockervolumes: Fix a minor typo 2014-06-16 09:52:23 +02:00
James Turnbull 50d49d0db8 Merge pull request #6378 from evanderkoogh/patch-1
Linking containers added to API example
2014-06-15 20:29:50 -04:00
O.S. Tezer 50fde602a1 Merge pull request #6433 from soulshake/small-typos
Fix spelling and grammar errors; remove seemingly out-of-place words
2014-06-15 11:36:19 -07:00
James Turnbull 8ca34e4b5e Merge pull request #6440 from marcuslinke/patch-1
docker-java has moved to new location
2014-06-15 14:24:44 -04:00
marcuslinke 520163a00e docker-java has moved to new location 2014-06-15 20:16:51 +02:00
James Turnbull 0b97725340 Fixed DOCKER_OPTS
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-15 12:26:52 -04:00
James Turnbull 4adab34dfa Fixed headers and ' characters
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-15 12:15:59 -04:00
AJ Bowen be9dcbbef5 Fix spelling and grammar errors; remove seemingly out-of-place words
Docker-DCO-1.1-Signed-off-by: AJ Bowen <aj@gandi.net> (github: soulshake)
2014-06-15 01:18:11 +02:00
Sven Dowideit c4327f7146 Merge pull request #6431 from mika/mika/typos
Fix several typos
2014-06-15 07:51:48 +10:00
Michael Prokop c0c58b6b46 Fix several typos
Docker-DCO-1.1-Signed-off-by: Michael Prokop <github@michael-prokop.at> (github: mika)
2014-06-14 23:16:30 +02:00
LK4D4 947405a909 Do inspect under container lock
It fixes some race conditions
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-14 21:08:23 +04:00
James Turnbull 93bf556f13 Merge pull request #6429 from mika/patch-1
Fix missing leading slash for /bin/bash executable
2014-06-14 11:07:38 -04:00
Michael Prokop e9f1f760f2 Fix missing leading slash for /bin/bash executable 2014-06-14 15:54:27 +02:00
Tianon Gravi e02cf69789 Fix contrib/man/md/docker-import.1.md warning ("macro `tar.gz,' not defined")
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-14 01:59:52 -06:00
Tianon Gravi cb92c47144 Fix several man page spelling errors
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-14 01:49:51 -06:00
Tianon Gravi d561fe6d2d Fix minor bug in contrib/man/md/md2man-all.sh causing the creation of contrib/man/manREADME
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-14 01:44:55 -06:00
O.S. Tezer c40602b254 Merge pull request #6386 from cpuguy83/fix_link_docs
Adds info on how to get env vars from container
2014-06-13 23:12:32 -07:00
Fred Lifton 1a441d9aea Fixed whitespace errors 2014-06-13 17:08:53 -07:00
O.S. Tezer 821d3aab65 Merge pull request #6421 from nathanleclaire/doc_fix
Note user name and password in docs on boot2docker
2014-06-13 16:03:39 -07:00
Nathan LeClaire 073382a9c6 Note user name and password in docs on boot2docker
Docker-DCO-1.1-Signed-off-by: Nathan LeClaire <nathan.leclaire@docker.com> (github: nathanleclaire)
2014-06-13 15:38:45 -07:00
O.S. Tezer 77b09a6a19 Merge pull request #6416 from danielnorberg/dano/docs-spotify-client
docs: add spotify docker-client link
2014-06-13 12:08:17 -07:00
Mrunal Patel 65567e125d Add helper function to make prctl system call.
Docker-DCO-1.1-Signed-off-by: Mrunal Patel <mrunalp@gmail.com> (github: mrunalp)
2014-06-13 11:49:57 -07:00
Daniel Norberg 27b2d7ff72 docs: add spotify docker-client link
Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-06-13 14:20:31 -04:00
LK4D4 eb97163348 Increase time before exit in TestMultipleAttachRestart
Sometimes third attacher attaching to already stopped container.
Also I've changed prefix to attach and fixed cleanup on Fatal.
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-13 21:40:30 +04:00
James Turnbull 7b366b1f01 Merge pull request #6411 from alazaro/patch-1
Fix typo
2014-06-13 08:15:29 -07:00
Álvaro Lázaro 52e88d92f0 Fix typo 2014-06-13 15:53:42 +02:00
Alexander Larsson 05243104fc Add support for client certificates for registries
This lets you specify custom client TLS certificates and CA root for a
specific registry hostname. Docker will then verify the registry
against the CA and present the client cert when talking to that
registry.  This allows the registry to verify that the client has a
proper key, indicating that the client is allowed to access the
images.

A custom cert is configured by creating a directory in
/etc/docker/certs.d with the same name as the registry hostname. Inside
this directory all *.crt files are added as CA Roots (if none exists,
the system default is used) and pair of files <filename>.key and
<filename>.cert indicate a custom certificate to present to the registry.

If there are multiple certificates each one will be tried in
alphabetical order, proceeding to the next if we get a 403 of 5xx
response.

So, an example setup would be:
/etc/docker/certs.d/
└── localhost
    ├── client.cert
    ├── client.key
    └── localhost.crt

A simple way to test this setup is to use an apache server to host a
registry. Just copy a registry tree into the apache root, here is an
example one containing the busybox image:
  http://people.gnome.org/~alexl/v1.tar.gz

Then add this conf file as /etc/httpd/conf.d/registry.conf:

 # This must be in the root context, otherwise it causes a re-negotiation
 # which is not supported by the tls implementation in go
 SSLVerifyClient optional_no_ca

 <Location /v1>
 Action cert-protected /cgi-bin/cert.cgi
 SetHandler cert-protected

 Header set x-docker-registry-version "0.6.2"
 SetEnvIf Host (.*) custom_host=$1
 Header set X-Docker-Endpoints "%{custom_host}e"
 </Location>

And this as /var/www/cgi-bin/cert.cgi

 #!/bin/bash
 if [ "$HTTPS" != "on" ]; then
     echo "Status: 403 Not using SSL"
     echo "x-docker-registry-version: 0.6.2"
     echo
     exit 0
 fi
 if [ "$SSL_CLIENT_VERIFY" == "NONE" ]; then
     echo "Status: 403 Client certificate invalid"
     echo "x-docker-registry-version: 0.6.2"
     echo
     exit 0
 fi
 echo "Content-length: $(stat --printf='%s' $PATH_TRANSLATED)"
 echo "x-docker-registry-version: 0.6.2"
 echo "X-Docker-Endpoints: $SERVER_NAME"
 echo "X-Docker-Size: 0"
 echo

 cat $PATH_TRANSLATED

This will return 403 for all accessed to /v1 unless *any* client cert
is presented. Obviously a real implementation would verify more details
about the certificate.

Example client certs can be generated with:

openssl genrsa -out client.key 1024
openssl req -new -x509 -text -key client.key -out client.cert

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-13 11:13:18 +02:00
Michael Crosby 51b188c510 Merge pull request #6214 from LK4D4/fix_some_more_race_conditions
Fix some more race conditions
2014-06-12 15:17:10 -07:00
Tibor Vass 8091157038 Merge pull request #6391 from vieux/fix_hostname_file_net_host
fix hostname generation with --net=host
2014-06-12 14:11:26 -07:00
Michael Crosby d871725cf2 Merge pull request #6381 from glyn/prod-ready
Remove "production ready" from the roadmap
2014-06-12 14:02:51 -07:00
Victor Vieux f9f6379a53 Merge pull request #6360 from vieux/remove_beam
remove unused beam, will be back later as libchan
2014-06-12 13:55:53 -07:00
Victor Vieux 15243cdbde Merge pull request #6365 from vieux/allow_net_none_h
Allow --net=none and -h
2014-06-12 12:26:54 -07:00
Victor Vieux f5979b9d0d add hostname generation with --net=host
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-12 19:20:57 +00:00
Victor Vieux 9494643bf1 add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-12 19:11:51 +00:00
Michael Crosby a8d6d28be4 Merge pull request #6307 from W4RH4WK/master
restore logo for README.md
2014-06-12 10:21:10 -07:00
Brian Goff fbf7815b25 Adds info on how to get env vars from container
Currently the docs just say "let's go into the container and look at the
env vars", but doesn't show how to do it.  It is also not currently
possible to enter the container as it is written in the doc
( container started with app.py and then somehow later on we have a
shell in the same container )

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-06-12 09:26:55 -07:00
Glyn Normington 784a008346 Remove "production ready" from the roadmap
It's done as of v1.0.0.

Docker-DCO-1.1-Signed-off-by: Glyn Normington <gnormington@gopivotal.com> (github: glyn)
2014-06-12 14:21:20 +01:00
evanderkoogh 0bdadfe4e7 Linking containers added to API example
Linking containers was not covered in the API documentation. I looked it up in the client source code and testing it manually.
2014-06-12 17:15:14 +08:00
O.S. Tezer dbee7dd69e Merge pull request #6372 from ostezer/docs-fix-logged-in-hdr
Docs: Fixed logged-in header username label target
2014-06-12 01:17:38 -07:00
Johan Euphrosine 338e87f6b3 api/server/MAINTAINERS: add proppy and vieux
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-06-12 00:54:35 -07:00
Tianon Gravi 3b9e8679db Merge pull request #6361 from asbjornenge/tmlang_copy
Add contribute/syntax highlight for the COPY instruction
2014-06-12 00:06:51 -07:00
Asbjørn Enge cb47ddd968 Added highlight for the COPY instruction
Docker-DCO-1.1-Signed-off-by: Asbjorn Enge <asbjorn@hanafjedle.net> (github: asbjornenge)
2014-06-12 08:25:09 +02:00
O.S. Tezer 4ccd91f0d8 Docs: Fixed logged-in header username label target
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-11 18:09:43 -07:00
Jérôme Petazzoni a084f4bc61 Select masquerade by outgoing interface rather than by destination subnet
Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)
2014-06-11 17:09:19 -07:00
Michael Crosby c99ee556d4 Merge pull request #6060 from dineshs-altiscale/maintainers
Add Dinesh Subhraveti to MAINTAINERS
2014-06-11 14:37:01 -07:00
Victor Vieux 6cb16f1c31 add tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-11 21:15:48 +00:00
Victor Vieux f411f8bfc5 Allow --net=none & -h
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-11 21:07:50 +00:00
Johan Euphrosine 37115ffb00 MAINTAINERS: add proppy for google.md
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-06-11 13:55:47 -07:00
Victor Vieux 384b60b940 remove unused beam, will be back later as libchan
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-11 19:09:55 +00:00
Michael Crosby 9ac293e1a8 Merge pull request #6335 from levigross/master
Fixed up if statement
2014-06-11 11:51:57 -07:00
Michael Crosby 6c953a3059 Merge pull request #6357 from crosbymichael/vendor-libcontainer
Vendor libcontainer
2014-06-11 10:57:39 -07:00
unclejack 8f909221f5 Merge pull request #6277 from philips/remove-unneeded-time-duration
registry: remove unneeded time.Duration()
2014-06-11 20:33:22 +03:00
James Turnbull 96c03d6d92 Merge pull request #6351 from lenw/patch-1
minor spelling fix
2014-06-11 06:55:33 -07:00
James Turnbull a092f979d4 Merge pull request #6349 from chrismckinnel/master
Fix some bullet points so they render correctly.
2014-06-11 06:54:44 -07:00
Alexandr Morozov a1b7a35c90 Fix race in LogEvent
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-11 15:23:33 +04:00
Alexandr Morozov fa7c8d523e Fix race in get/set HostConfig
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-11 15:23:33 +04:00
Alexandr Morozov 0b3fe55442 Fix race in contStore.List
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-11 15:23:33 +04:00
Len Weincier db00e224c2 minor spelling fix 2014-06-11 13:16:53 +02:00
Alexandr Morozov b1bae92534 Don't exit on eof in header reading in stdcopy
There was random lines drops in docker logs because of this
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-11 15:13:31 +04:00
chrismckinnel a247af9c97 Fix some bullet points so they render correctly. 2014-06-11 11:44:30 +01:00
Michael Crosby d1757c005f Use libcontainer version tag for vendor script
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-10 20:23:05 -07:00
Michael Crosby 8194556337 Update libcontainer imports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-10 19:58:15 -07:00
Michael Crosby 8a8b6d7964 Remove and vendor libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-10 19:49:57 -07:00
James Turnbull 4cf40c968f Merge pull request #6339 from ostezer/docs-fix-css-title-conflict
docs: Fix docs' styling conflict with common names
2014-06-10 13:40:22 -07:00
O.S. Tezer cb40e3302e docs: Fix docs' styling conflict with common names
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)

Closes issue #6329
2014-06-10 11:18:20 -07:00
James Turnbull 9a7bd6d95b Merge pull request #6322 from crucerucalin/master
Repaired broken links in docs/sources/faq.md
2014-06-10 08:46:42 -07:00
Sven Dowideit 9254a62cd6 Merge pull request #6315 from erikh/ubuntu-latest-install-docs
Improve documentation on Ubuntu for getting the latest release of docker.
2014-06-11 00:54:52 +10:00
Sven Dowideit b83a171f9e Merge pull request #6300 from whatthejeff/patch-1
Avoid history expansion.
2014-06-11 00:49:29 +10:00
Tianon Gravi 5ff3a28cb4 Merge pull request #6252 from tianon/update-check-config
Update contrib/check-config.sh to check for CGROUP_FREEZER and to use /proc/mounts
2014-06-10 08:09:34 -06:00
Levi Gross a7b60b21de Fixed up if statement
Signed-off-by: Levi Gross <levi@levigross.com>

Docker-DCO-1.1-Signed-off-by: Levi Gross <levi@levigross.com> (github: levigross)
2014-06-10 10:02:00 -04:00
Cruceru Calin-Cristian 53802d54d6 Repaired broken links
Docker-DCO-1.1-Signed-off-by: Calin Cruceru <crucerucalincristian@gmail.com> (github: crucerucalin)
2014-06-10 08:21:12 +03:00
Erik Hollensbe 7ab1a90e59 Improve documentation on Ubuntu for getting the latest release of
docker.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-06-09 18:31:46 -07:00
unclejack fb2ac5bedb Merge pull request #6317 from crosbymichael/libcontainerdep
Move libcontainer deps into libcontainer
2014-06-10 03:16:15 +03:00
Michael Crosby bae6a5a616 Gofmt imports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-09 16:01:57 -07:00
Michael Crosby 6158ccad97 Move libcontainer deps into libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-09 15:52:12 -07:00
Jeff Welch 052ad32a7b Avoid history expansion.
Docker-DCO-1.1-Signed-off-by: Jeff Welch <whatthejeff@gmail.com> (github: whatthejeff)
2014-06-09 17:30:34 -04:00
Alex Warhawk cacb5c0dde restore logo for README.md
Docker-DCO-1.1-Signed-off-by: Alex Hirsch <ax.warhawk@gmail.com> (github: W4RH4WK)
2014-06-09 22:15:13 +02:00
Bryan Murphy e827c8ff61 Add integration test for history command and fix bug where history
would occasionally be returned in the incorrect order if sequential
layers had the same created time.

Docker-DCO-1.1-Signed-off-by: Bryan Murphy <bmurphy1976@gmail.com> (github: bmurphy1976)
2014-06-09 10:45:54 -05:00
Michael Crosby fd32fc8062 Merge pull request #6305 from crosbymichael/merge_release_v1.0.0
Merge release v1.0.0
2014-06-09 07:17:43 -07:00
Michael Crosby faf5ef6f80 Change version to v1.0.0-dev
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-09 07:14:51 -07:00
Michael Crosby 07e9ac9ffe Merge branch 'release' into merge_release_v1.0.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-09 07:14:40 -07:00
Michael Crosby d9939758e6 Merge pull request #6303 from crosbymichael/bump_v1.0.0
Bump version to v1.0.0
2014-06-09 07:12:42 -07:00
James Turnbull 5dc6339e33 Merge pull request #6302 from Costent/patch-1
Update windows.md
2014-06-09 06:14:16 -07:00
William Riancho 875d0b776d Update windows.md
Replace "OS X" by "Windows"
2014-06-09 11:23:54 +02:00
Sven Dowideit e2fce7d612 Merge pull request #6299 from jamtur01/12link
Fixed API 1.12 links and misc other fixes
2014-06-08 18:06:27 -07:00
James Turnbull 135ced208c Merge pull request #6297 from jamtur01/hub
Updated Docker Hub documentation
2014-06-08 18:03:28 -07:00
James Turnbull 871299de0d Updated Docker Hub documentation
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-08 18:01:44 -07:00
James Turnbull 11fee48c2d Fixed API 1.12 links and misc other fixes
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-08 17:59:22 -07:00
James Turnbull 3b0ae3ec68 Merge pull request #6298 from fredlf/copyedits
Edits to Win and OSX install
2014-06-08 17:56:34 -07:00
Fred Lifton 9e2e8188ae Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredfl) 2014-06-08 17:36:49 -07:00
Fred Lifton 9bc75d008e Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredfl) 2014-06-08 17:35:49 -07:00
Sven Dowideit a43cebf088 Merge pull request #6295 from ostezer/docs-ref-index-hub
Docs: Rename index with hub for ref. section
2014-06-08 16:47:48 -07:00
Sven Dowideit 83b446492c Merge pull request #6265 from fredlf/copyedits
Copyedits
2014-06-08 16:47:12 -07:00
Fred Lifton 4fd9cc9980 Copy edits to Understanding Docker
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredfl)
2014-06-08 16:46:31 -07:00
Michael Crosby 63fe64c471 Bump to version v1.0.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-08 16:42:30 -07:00
Michael Crosby 9722c66dad Merge branch 'master' into bump_v1.0.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-08 16:40:19 -07:00
O.S. Tezer b0a46d1cb9 Docs: Rename index with hub for ref. section
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-08 16:34:47 -07:00
unclejack e570987c4f Merge pull request #6293 from vieux/fix_version_decode
Fix version numbering
2014-06-09 02:23:27 +03:00
Sven Dowideit c740c76017 Merge pull request #6294 from SvenDowideit/simplify-windows-networking-docs
Simplify the windows docs and fix formatting
2014-06-08 16:14:54 -07:00
SvenDowideit 744d39a466 Simplify the windows docs and fix formatting
The mention of NAT is confusing for those coming from pre-host-only networking b2d

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-09 09:10:41 +10:00
Sven Dowideit 23cc3e5c63 Merge pull request #6292 from ostezer/docs-merge-on-builds
Docs: Fix merge issue on docker-hub/builds.md
2014-06-08 16:09:56 -07:00
Victor Vieux e975687b9a fix version numbering
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-08 23:06:47 +00:00
O.S. Tezer c37b4828dd Docs: Fix merge issue on docker-hub/builds.md
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-08 16:05:07 -07:00
Sven Dowideit 23bdb3b3a6 Merge pull request #6291 from jamtur01/mac
Fixed issues in Mac or Windows
2014-06-08 15:56:52 -07:00
James Turnbull bb7baf1835 Fixed issues in Mac or Windows
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-08 15:53:20 -07:00
Sven Dowideit 4dc5315e3b Merge pull request #6289 from jamtur01/dev
Removed re-appearing production warnings
2014-06-08 15:36:17 -07:00
James Turnbull 7842630480 Removed re-appearing production warnings
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-08 15:35:32 -07:00
James Turnbull d87fdaa1e3 Merge pull request #6287 from jamtur01/userguide
Initial links
2014-06-08 14:57:40 -07:00
James Turnbull ef364f7e1f Initial links
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-08 14:54:32 -07:00
James Turnbull c9f216d2fa Merge pull request #6284 from SvenDowideit/remove-table-of-contents-eyebrow
Remove the 'TABLE OF CONTENTS' header
2014-06-08 14:22:09 -07:00
James Turnbull b737837882 Merge pull request #6264 from SvenDowideit/add-osx-boot2docker-start
add an image to show the use of the Docker OSX applet
2014-06-08 14:03:42 -07:00
Thatcher 3cb59c5140 Merge pull request #6285 from ostezer/docs-new-style-improvements
Docs: Remove unused font and fix navigation links
2014-06-08 13:59:49 -07:00
O.S. Tezer 55d645246a Docs: Remove unused font and fix navigation links
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-08 13:57:34 -07:00
Sven Dowideit 90251a488d add an image to show the use of the Docker OSX applet
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-06-09 06:51:13 +10:00
Sven Dowideit f72a31ae31 Merge pull request #6283 from huslage/doc-videos
Videos for installing b2d
2014-06-08 13:44:21 -07:00
SvenDowideit 8e851aaa27 Remove the 'TABLE OF CONTENTS' header
Its tricked a number of readers, as its not a TOC, its just local to the
current topic. Now that the docs are not mobile responsive its not an
active UI element either.

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-09 06:21:07 +10:00
Aaron Huslage fa7946a510 Videos for installing b2d
Mac and Windows video embeds from YouTube

Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-06-08 13:11:50 -07:00
James Turnbull faeede0200 Merge pull request #6282 from jobrieniii/patch-3
Update usingdocker.md
2014-06-08 12:14:05 -07:00
John OBrien III 862d3eb284 Update usingdocker.md
Added container name `nostalgic_morse` to end of `inspect -f` example
2014-06-08 15:12:00 -04:00
James Turnbull 8ac4261263 Merge pull request #6281 from jobrieniii/patch-2
Update usingdocker.md
2014-06-08 12:05:36 -07:00
James Turnbull 8349e282a9 Merge pull request #6275 from ostezer/docs-design-dev
Docker Docs styling overhaul
2014-06-08 12:03:59 -07:00
John OBrien III 2337f52999 Update usingdocker.md
Just noticed `sudo` missing on line 232.  (Learning so doing lots of copying / pasting)
2014-06-08 14:58:13 -04:00
James Turnbull 1ecb170352 Merge pull request #6280 from jobrieniii/patch-1
Update dockerizing.md
2014-06-08 11:51:53 -07:00
John OBrien III d6c494671f Update dockerizing.md 2014-06-08 14:37:58 -04:00
James Turnbull 5b85dc3584 Merge pull request #6279 from sebastienhouzet/patch-3
Update dockervolumes.md
2014-06-08 11:33:06 -07:00
Sébastien 752c3e9208 Update dockervolumes.md
Error on title note :)
2014-06-08 20:31:10 +02:00
James Turnbull 7992fb5911 Merge pull request #6278 from sebastienhouzet/patch-2
Update dockerimages.md
2014-06-08 11:25:22 -07:00
O.S. Tezer 38daa47ee2 Docker Docs styling overhaul
This commit/PR changes docs' styling with Docker general styling

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-06-08 11:18:24 -07:00
Sébastien 5f9a673025 Update dockerimages.md
Error on title Note.
2014-06-08 20:15:31 +02:00
Brandon Philips 4a3b36f443 registry: remove unneeded time.Duration()
These constants don't need to use time.Duration(). Fixup this file since
it seems to be the only one using this style.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-06-08 11:04:06 -07:00
James Turnbull 1151f9ef9e Merge pull request #6272 from sebastienhouzet/patch-1
Update dockerizing.md
2014-06-08 08:39:42 -07:00
Sébastien 31e8993d57 Update dockerizing.md
Error on title Note :)
2014-06-08 17:25:53 +02:00
O.S. Tezer 259d714b93 Merge pull request #6235 from zdover23/06_Jun_2014
Fixed docker commit man page typos
2014-06-07 23:15:39 -07:00
Zac Dover 8f99875d03 BZ#1104401
Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)
2014-06-08 14:15:37 +10:00
Michael Crosby cfd209fd6e Merge pull request #6260 from vieux/disable_timeout_on_push
Disable timeout for push
2014-06-07 17:24:43 -07:00
Victor Vieux 8baafacf40 Disable timeout for push
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-07 23:48:25 +00:00
unclejack a2c08792f0 Merge pull request #6258 from crosbymichael/capkill
Add CAP_KILL to unprivileged containers
2014-06-08 01:37:28 +03:00
Michael Crosby fa72eb3a58 Add CAP_KILL to unprivileged containers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-07 15:18:18 -07:00
Johan Euphrosine 39320f9393 utils: add test for TimeoutConn
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-06-07 15:11:57 -07:00
unclejack 94dc07c044 Merge pull request #6255 from vieux/improve_trusted_detection
improve trusted location detection
2014-06-08 00:28:18 +03:00
Victor Vieux daa89c420c improve trusted location detection
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-07 21:17:56 +00:00
James Turnbull f7e4546af0 Merge pull request #6241 from proppy/fix-google-docs
docs/google: fix code blocks
2014-06-07 09:54:21 -07:00
Tianon Gravi a59e1949b5 Update contrib/check-config.sh to check for CGROUP_FREEZER (which is newly required), and to use /proc/mounts for checking if we have a cgroup hierarchy instead of using /proc/$$/mountinfo (which on systemd might not list the cgroup hierarchy)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-07 08:43:40 -06:00
Solomon Hykes 0c611d9b15 Mention bugfixes in 0.12 changelog 2014-06-06 13:31:10 -07:00
Johan Euphrosine e2119f3050 docs/google: fix code blocks
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-06-06 13:11:21 -07:00
Paul Morie 92f46d233e Docs: add ApiVersion to /version for remote API 1.12
Docker-DCO-1.1-Signed-off-by: Paul Morie <pmorie@gmail.com> (github: pmorie)
2014-06-06 15:13:25 -04:00
Victor Vieux 5d07362a84 Merge pull request #6238 from tiborvass/merge_release_v0.12.0
Merge release v0.12.0
2014-06-06 11:55:50 -07:00
Tibor Vass c95f77866c Change version to 0.12.0-dev
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-06 11:45:57 -07:00
Michael Crosby c624caa949 Merge pull request #6230 from tiborvass/bump_v0.12.0
Bump version to v0.12.0
2014-06-06 11:41:06 -07:00
Tibor Vass 14680bf724 Bump version to v0.12.0
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-05 17:59:19 -07:00
Tibor Vass c06f32a7b9 Merge pull request #6228 from vieux/fix_restart_links
Fix restart links
2014-06-05 17:54:27 -07:00
Victor Vieux 30ba7546cb add wait4 after kill
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-06 00:32:14 +00:00
Victor Vieux 34bd2d6229 start containers after all of them are registered
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-06 00:31:58 +00:00
James Turnbull 98d44ac491 Merge pull request #6226 from fredlf/copyedits
More minor copy edits, typo fix.
2014-06-05 17:07:18 -07:00
Tianon Gravi c6dc8275b2 Merge pull request #6227 from crosbymichael/fix-test-compile
Don't compile nsinit during tests (it has package main)
2014-06-05 18:06:31 -06:00
Michael Crosby 3986bc659b Don't compile nsinit
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-05 17:03:32 -07:00
Fred Lifton 762c528501 More minor copy edits, typo fix.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredfl)
2014-06-05 16:55:32 -07:00
Michael Crosby acb9f156fd Merge pull request #6207 from crosbymichael/nsinit-cli
Make nsinit nicer to work with libcontainer
2014-06-05 16:51:31 -07:00
Michael Crosby c239c8ad9d Merge pull request #6221 from crosbymichael/no-unmount
Move remount as private to the graph drivers
2014-06-05 16:51:10 -07:00
Michael Crosby 3609b051b8 Move remount as private to the graph drivers
If this is at the root directory for the daemon you could unmount
somones filesystem when you stop docker and this is actually only needed
for the palces that the graph drivers mount the container's root
    filesystems.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-05 16:02:25 -07:00
Tibor Vass 9329c0d2e0 Merge pull request #6224 from tiborvass/storage-options
Add --storage-opt daemon option and some devicemapper option (with fixes)
2014-06-05 16:00:03 -07:00
unclejack 2f72fdf6ea Merge pull request #6145 from shykes/pr_out_pkg_testutils_utility_functions_to_facilitate_writing_go_tests
pkg/testutils: utility functions to facilitate writing Go tests
2014-06-06 01:26:53 +03:00
James Turnbull 19ef3ff112 Merge pull request #6182 from mheon/fix_manpage_issue
Clarify manpages on docker start
2014-06-05 15:15:50 -07:00
Tibor Vass b1ac791d84 Ensures files get closed properly. Closes #6213
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-05 15:13:43 -07:00
Sven Dowideit a2c553bd6b Merge pull request #6219 from cpuguy83/fix_ssh_example_docs_root_login
Fixes broken ssh server example
2014-06-05 15:02:43 -07:00
Sven Dowideit 64ce33268c Merge pull request #6222 from SvenDowideit/pr_out_reflow_to_80_columns
Initial edits to home page
2014-06-05 14:58:29 -07:00
SvenDowideit abcb724ed9 reflow to 80 columns
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-06 07:58:05 +10:00
Fred Lifton 09b19752e0 Initial copy edits to home page.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: SvenDowideit)
2014-06-06 07:58:04 +10:00
Sven Dowideit 6be75947ab Merge pull request #6223 from jamtur01/rl
Revert "Initial links for Docker Hub rename"
2014-06-05 14:56:12 -07:00
James Turnbull fad14eda3a Revert "Initial links for Docker Hub rename"
This reverts commit 2819677c21.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-05 14:52:06 -07:00
James Turnbull 6fa3acc96c Merge pull request #6156 from jamtur01/links
Initial link update for Docs
2014-06-05 14:46:33 -07:00
Victor Vieux cedab4d06a Merge pull request #6220 from vieux/fix_redirect
Only forward auth to trusted locations
2014-06-05 14:34:37 -07:00
Michael Crosby f362153157 Update for nsenter
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-05 14:31:16 -07:00
Michael Crosby 1a3d43c23e Update nsinit to be nicer to work with and test
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-05 14:13:02 -07:00
Victor Vieux a124531863 only forward auth to trusted locations
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-05 19:47:33 +00:00
Matthew Heon d08c965e2c Clarify effect of docker start on started container in CLI docs
This behavior changed from v0.9 to v0.10, so document it to prevent
any confusion.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-05 15:08:54 -04:00
cpuguy83 04620e0154 Fixes broken ssh server example
Docker-DCO-1.1-Signed-off-by: cpuguy83 <cpuguy83@gmail.com> (github: cpuguy83)
2014-06-05 14:10:52 -04:00
Sven Dowideit 734d108ed2 Merge pull request #6215 from cpuguy83/fix_volumes_from_api_doc
Fixes incorrect API spec for items moved to HostConfig
2014-06-05 10:33:16 -07:00
cpuguy83 8c646ebf16 Fixes incorrect API spec for items moved to HostConfig
DNS and VolumesFrom were moved to HostConfig and as such are part of the
container start and not create.
For some reason 0.10 docs are correct (except for a missing quote in the
JSON") but 0.11 and latest are not.

Docker-DCO-1.1-Signed-off-by: cpuguy83 <cpuguy83@gmail.com> (github: cpuguy83)
2014-06-05 09:50:27 -04:00
Alexander Larsson 0434a2ce64 devmapper: Add blkdiscard option and disable it on raw devices
The blkdiscard hack we do on container/image delete is pretty slow, but
required to restore space to the "host" root filesystem. However, it
is pretty useless on raw devices, and you may not need it in development
either.

In a simple test of the devicemapper backend on loopback the time to
delete 20 container went from 11 seconds to 0.4 seconds with
--storage-opt blkdiscard=false.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 11:45:59 +02:00
Alexander Larsson a226168a8b devmapper: Add options for specifying block devices
This adds dm.datadev and dm.metadatadev options that you can use with
--storage-opt to set to specific devices to use for the thin
provisioning pool.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 11:45:55 +02:00
Alexander Larsson 807bc2cd04 devmapper: Allow specifying filesystem for thin devices
This adds the following --storage-opts for the daemon:
dm.fs: The filesystem to use for the base image
dm.mkfsarg: Add an argument to the mkfs command for the base image
dm.mountopt: Add a mount option for devicemapper mount

Currently supported filesystems are xfs and ext4.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 11:25:06 +02:00
Alexander Larsson 10083f4140 devicemapper: Probe what filesystem to use when mounting
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 11:03:19 +02:00
Alexander Larsson 7f5ba068f4 devmapper: Add --storage-opt options for basic devicemapper settings
This allows setting these settings to be passed:
dm.basesize
dm.loopdatasize
dm.loopmetadatasize

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 10:50:07 +02:00
Alexander Larsson 822ea97ffc Add --storage-opt graph driver option and pass through to driver
This lets you add storage specific options for the daemon.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 10:42:27 +02:00
Alexander Larsson 948e54ac45 devmapper: Fail init with ErrNotSupported if simple devmapper call fails
If we can't even get the current device mapper driver version, then
we cleanly fail the devmapper driver as not supported and fall back
on the next one.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 10:42:27 +02:00
Alexander Larsson 13f07b636f pkg/units: Add FromHumanSize
This does the "reverse" of HumanSize, i.e. maps a string to an int64
using SI prefixes for the extension.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-05 10:02:37 +02:00
Victor Vieux 7e96f8de1c Merge pull request #6026 from vmarmol/nsenter
Adding initial version of C-based nsenter for allowing execin in libcontainer.
2014-06-04 19:06:27 -07:00
Victor Vieux fe706af3c0 Merge pull request #6210 from tiborvass/fix_doc_remove_insert_remote_api
Move doc section in Remote API about removing insert from v1.11 to v1.12
2014-06-04 18:31:55 -07:00
Tibor Vass 0d1906feea Move doc section in Remote API about removing insert from v1.11 to v1.12
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-06-04 18:30:10 -07:00
Tibor Vass 894814f708 Merge pull request #6208 from crosbymichael/remove-insert
Totally remove insert feature
2014-06-04 18:17:23 -07:00
Victor Marmol a0137e104c Merge pull request #1 from crosbymichael/nsenter-path
Move environment loading to nsenter
2014-06-04 18:14:12 -07:00
Michael Crosby 7eb508633d Exclude the user namespace for setns
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-04 18:03:17 -07:00
Michael Crosby 8497d1274b Move env load to nsenter
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-04 17:54:00 -07:00
Victor Marmol 0a725ea282 Adding initial version of C-based nsenter for allowing execin in
libcontainer.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-06-05 00:44:13 +00:00
Michael Crosby 7a145b022a Totally remove insert feature
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-04 17:35:15 -07:00
Michael Crosby a8ef66d84a Merge pull request #6205 from crosbymichael/rename-namespaces
Rename nsinit package to namespaces in libcontainer
2014-06-04 17:27:45 -07:00
James Turnbull 2819677c21 Initial links for Docker Hub rename
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-04 16:48:49 -07:00
Victor Vieux aa05170a82 Merge pull request #6204 from crosbymichael/no-structs
Remove the API container struct and use env
2014-06-04 16:40:20 -07:00
Michael Crosby 8aff01c0b4 Rename nsinit package to namespaces in libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-04 15:47:57 -07:00
Michael Crosby 91757eaeb3 Remove the API container struct and use env
This change touches docker logs, attach, and start -a along with get
exit code in the client.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-04 15:37:49 -07:00
unclejack 048833c246 Merge pull request #6178 from calfonso/freezer-pr-integration
Freezer integration to support container pause/unpause
2014-06-05 01:29:47 +03:00
Michael Crosby fd21da4b0b Merge pull request #6198 from vishh/stats2
Add more stats to libcontainer.
2014-06-04 15:28:19 -07:00
unclejack 597c06ca34 Merge pull request #6195 from kieslee/master
pass address of metaHeaders to GetenvJson in ImagePush and ImagePull
2014-06-05 00:23:08 +03:00
Vishnu Kannan 8d63b610c3 Add stats for memory allocation failure count and instantaneous cpu usage in the usermode and kernelmode.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-04 21:20:21 +00:00
Chris Alfonso 26246ebd53 Integrating systemd freeze functionality.
This pulls together #6061 and #6125

Docker-DCO-1.1-Signed-off-by: Chris Alfonso <calfonso@redhat.com> (github: calfonso)
2014-06-04 13:33:44 -06:00
Ian Main b054569cde Add ability to pause/unpause containers via cgroups freeze
This patch adds pause/unpause to the command line, api, and drivers
for use on containers.  This is implemented using the cgroups/freeze
utility in libcontainer and lxc freeze/unfreeze.

Co-Authored-By: Eric Windisch <ewindisch@docker.com>
Co-Authored-By: Chris Alfonso <calfonso@redhat.com>
Docker-DCO-1.1-Signed-off-by: Ian Main <imain@redhat.com> (github: imain)
2014-06-04 13:33:44 -06:00
Michael Crosby 1f5b323208 Merge pull request #6187 from vieux/wait_freeze
Implement wait on freeze
2014-06-04 12:00:20 -07:00
kies eb3e2f4f47 pass address of metaHeaders to GetenvJson in ImagePush and ImagePull
Docker-DCO-1.1-Signed-off-by: kies <lleelm@gmail.com> (github: kieslee)
2014-06-04 17:54:06 +08:00
Sven Dowideit 9f14ff83b2 Merge pull request #6191 from snowch/patch-1
Small clarification
2014-06-04 01:56:01 -07:00
Chris Snow 2e14f0f70a Update builder.md 2014-06-04 08:08:44 +01:00
Victor Vieux 3704996089 Merge pull request #6082 from FLGMwt/2342-change-wording-uploading-context
Change 'Uploading context' wording
2014-06-03 23:58:20 -07:00
Victor Vieux dc21dd2634 implement wait on freeze
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-04 02:21:10 +00:00
Tibor Vass 2a92c53a06 Merge pull request #6186 from unclejack/fix_typo_aufsgo
fix diffs->diff typo in aufs.go
2014-06-03 16:59:43 -07:00
Joe Beda c11fadb282 Make debian init work when called quickly.
We use the start-stop-daemon pid creation mechanism in addition the intrinsic built into docker.  This means the pid file is guaranteed to be written out by the time the script exits.

See #6184.

Docker-DCO-1.1-Signed-off-by: Joe Beda <joe.github@bedafamily.com> (github: jbeda)
2014-06-03 16:57:32 -07:00
unclejack 7a60b9063c fix diffs->diff typo in aufs.go
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-04 02:46:55 +03:00
Victor Vieux 2c27e6e9ab Merge pull request #6183 from crosbymichael/fix-freezer-fs
Don't rejoin the freezer cgroup each time
2014-06-03 16:16:58 -07:00
Victor Vieux 37d69aae5e Merge pull request #6180 from unclejack/apparmor
apparmor: write & load the profile on every start
2014-06-03 15:56:28 -07:00
Michael Crosby 534521301c Don't rejoin the cgroup each time
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-03 15:24:30 -07:00
unclejack a2ec8fa1db Merge pull request #6181 from SvenDowideit/change-out-port-number
IANA allocated Docker port: 2375
2014-06-04 01:07:48 +03:00
Sven Dowideit 201d20fe34 Merge pull request #6164 from jamtur01/automated
Changed all references from Trusted Builds to Automated Builds
2014-06-03 15:06:09 -07:00
unclejack 1ef3ca83d8 apparmor: write & load the profile on every start
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-04 00:56:35 +03:00
Matthew Heon d96eb47dee Added note in manpages to clarify effect of docker start on started container
When run on a container that is already running, docker always succeeds.
This was an intentional change in v0.10; it previously caused an error.
This commit clarifies the man pages to indicate this is intended behavior.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-06-03 17:10:59 -04:00
SvenDowideit 5febba93ba IANA allocated Docker port: 2375
2375/2376 are assigned:
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=docker

For #1440

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-04 06:54:19 +10:00
James Turnbull 9fc8028c98 Changed all references from Trusted Builds to Automated Builds
* Updated docker images output
* Deprecated docker images -t/--trusted option and replace with --automated
* Changed *trusted variables to *automated
* Changed added support for is_automated alongside deprecated is_trusted
* Updated man pages, docs and completion
* Updated API documentation

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-03 12:55:30 -07:00
Victor Vieux 2f514fb891 Merge pull request #6125 from crosbymichael/systemd-freezer
Implement systemd support for freezer
2014-06-03 11:39:21 -07:00
Sven Dowideit 7f55d92837 Merge pull request #6173 from zdover23/03_Jun_2014
grammar; nothing big (added a "the")
2014-06-03 10:48:20 -07:00
Michael Crosby 613f74c1fb Implement systemd support for freezer
These PR does a few things.  It ensures that the freezer cgroup is
joined in the systemd driver.  It also provides a public api for setting
the freezer state via the cgroups package.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-03 10:46:53 -07:00
Michael Crosby ae93939414 Merge pull request #6175 from alexlarsson/systemd-use-raw-devices
libcontainer/cgroup: Use raw access to set up and join the devices cgroup
2014-06-03 10:38:31 -07:00
unclejack 5aeb77296a Merge pull request #4430 from vbatts/vbatts-images_orphan
Adding -f untagged=true flag to `docker images`
2014-06-03 20:33:56 +03:00
Vincent Batts 02255ddaa4 filters: don't encode empty set. API docs
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-03 12:19:26 -04:00
Sam Bailey d9885abdc4 reuse the febootstrap-minimize from rinse
Docker-DCO-1.1-Signed-off-by: Sam Bailey <sam@thatsamguy.com> (github: thatsamguy)
2014-06-03 20:41:32 +10:00
Albert Zhang b611198d28 mount of /.dockerinit is not needed for native driver, so move it into lxc driver
Docker-DCO-1.1-Signed-off-by: Albert Zhang <zhgwenming@gmail.com> (github: zhgwenming)
2014-06-03 18:13:54 +08:00
Alexander Larsson 6b8f0e394b libcontainer/cgroup: Use raw access to set up and join the devices cgroup
The systemd support for the devices cgroup lacks two required features:
 * Support for wildcards to allow mknod on any device
 * Support for wildcards to allow /dev/pts support

The second is available in more recent systemd as "char-pts", but not in e.g. v208 which is in wide use.

Additionally, the current approach of letting systemd set up the devices cgroup and then adding
some devices to it doesn't work, because some times systemd (at least v208) re-initializes
the devices cgroup, overwriting our custom devices. See https://github.com/dotcloud/docker/issues/6009
for the details.

When wildcarded mknod support is available in systemd we should implement a pure systemd version,
but we need to keep the old one around for backwards compat.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-06-03 11:34:14 +02:00
Victor Vieux dccf336204 Merge pull request #6172 from tianon/remove-duplicated-magic-values
Move duplicated FS "magic" values to the graphdriver package so they can be shared
2014-06-02 23:25:46 -07:00
Zac Dover 3a77a73a85 grammar; nothing big
Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)

Added another "The"

Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)
2014-06-03 15:40:22 +10:00
James Turnbull 19e4fddcce Merge pull request #6122 from mheon/fix_manpage_issue
Added documentation for special case in run command
2014-06-02 21:19:43 -07:00
Tianon Gravi 68476e277f Move duplicated FS "magic" values to the graphdriver package so they can be shared instead of duplicated
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-06-02 19:56:47 -06:00
Victor Marmol 5bf4068d60 Merge pull request #6171 from crosbymichael/add-chroot
Add SYS_CHROOT cap to unprivileged containers
2014-06-02 18:33:34 -07:00
Michael Crosby 41f7cef2bd Add SYS_CHROOT cap to unprivileged containers
Fixes #6103
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-02 18:23:47 -07:00
unclejack 3fb0870878 Merge pull request #6167 from crosbymichael/volume-ownership
Retain volume ownership and permissions
2014-06-03 04:23:30 +03:00
Victor Vieux fd342cb777 Merge pull request #6170 from vieux/redirect_login
Add redirect and env proxy support to docker login
2014-06-02 18:19:28 -07:00
Michael Crosby c024c9bd1e Add test for volume ownership and perms
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-02 18:10:52 -07:00
Michael Crosby f41ced96af Ensure that ownership and perms are copied to volume
This only works if the file or dir is already created in
the image before setting it to be a volume.  There is no way around this
because we don't have the data avaliable to set the volume at the
beginning of the dockerfile
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-02 18:06:58 -07:00
Michael Crosby f65fadbda0 Merge pull request #6143 from LK4D4/move_some_more_tests_to_cli
Move some more tests to integration cli
2014-06-02 18:06:11 -07:00
Sven Dowideit dd93845ad0 Merge pull request #6056 from ipbabble/master
Made fixes to man pages to remove some ambiguities and typos
2014-06-02 18:01:22 -07:00
unclejack a8ade72b6a Merge pull request #6168 from vieux/add_proto_validation
add proto validation at parse
2014-06-03 03:55:41 +03:00
Victor Marmol 70b778751e Merge pull request #6153 from vishh/stats1
Add per cpu usage to libcontainer  stats
2014-06-02 17:53:17 -07:00
Victor Vieux 4e7254840b Add redirect and env proxy support to docker login
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-03 00:46:06 +00:00
Victor Vieux 98d7b720c2 Merge pull request #6169 from vieux/add_volumes_inspect_back
add volumes back to inspect
2014-06-02 17:07:00 -07:00
Victor Vieux 996133b9ba add volumes back to inspect
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-03 00:05:54 +00:00
Victor Vieux 0633b12b28 add proto validation at parse
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-02 23:03:10 +00:00
Victor Vieux b292928cd5 Merge pull request #5848 from unclejack/resumable_pulls
resume pulling the layer on disconnect
2014-06-02 14:07:01 -07:00
Victor Vieux dcba54aa99 Merge pull request #6166 from vieux/debug_skipping
switch skipping from error to debug
2014-06-02 14:01:49 -07:00
Victor Vieux af6ab357e8 switch skipping from error to debug
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-02 20:47:07 +00:00
unclejack aa61cc759b Merge pull request #6165 from vieux/update_tests
Update tests regarding busybox & inspect
2014-06-02 23:39:12 +03:00
Vincent Batts 3a4e3ca327 filters: don't encode an empty set. update comments
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:52 -04:00
Vincent Batts 89a15fa235 filters: use json marshal, instead of beam/data
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:52 -04:00
Vincent Batts 3ecfaa8f2d filters: change untagged to dangling
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:52 -04:00
Vincent Batts f322168563 server: very debug.
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:52 -04:00
Vincent Batts f1cc7ce5d7 filter flag: split out for separate --filter flags
adding tests and allowing for easy passing of filters.Args from client
to server.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:51 -04:00
Vincent Batts 3391aac2b2 images: fix markdown documentation
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:51 -04:00
Vincent Batts cb7857de5d images filter: remove the redundant inverted filter
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:51 -04:00
Vincent Batts babd572015 filters: cleanup & fmt
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:51 -04:00
Vincent Batts 55d95185ed filters, for images: docs
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:51 -04:00
Vincent Batts caf9b19b0c filters: remove out filter proc prototype
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:50 -04:00
Vincent Batts 5f3812ec97 filters, for images: start with untagged/tagged boolean
This is a new feature and flag. (replaces the suggestion of a flag for
--untagged images).
The concept is to have a syntax to filter. This begins with this
filtering for the 'images' subcommand, and at that only filtering for
whether images are untagged.
  example like: docker rmi $(docker images -q --filter 'untagged=true')

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-06-02 16:33:50 -04:00
Victor Vieux 730d9ba174 fix busybox image detection
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-02 19:57:20 +00:00
Victor Vieux b8932abcd3 pull only busybox:latest
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-06-02 19:54:17 +00:00
LK4D4 ae128437ce Move build cache tests to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-02 23:40:14 +04:00
LK4D4 bf4d907092 More verbose build tests
I've decided that custom asserts only hide the meaning of tests
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-02 23:40:13 +04:00
LK4D4 2e85568816 Aux functions for build testing
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-02 23:40:13 +04:00
Sven Dowideit afb2d5de3d Merge pull request #6159 from SvenDowideit/s3-json-fixup
aws json is not javascript style json. trailing comma breaks it :(
2014-06-02 12:28:57 -07:00
Victor Vieux 55230b3332 Merge pull request #6138 from NERSC/6092-setuidrace
Fix for setuid race condition in LXC driver
2014-06-02 12:16:00 -07:00
Victor Vieux c136384b20 Merge pull request #6160 from crosbymichael/update-test-for-nil-error
Update cpu stat test for no error
2014-06-02 12:12:49 -07:00
Victor Vieux 24ea088124 Merge pull request #6147 from cyphar/6142-mflag-strip-quotes-long-equal-form
mflag: strip quotes in certain forms from flag values
2014-06-02 12:03:58 -07:00
Michael Crosby 3e13aaec00 Merge pull request #6130 from vieux/standardize_api_keys
Standardize api keys to CamelCase
2014-06-02 12:03:11 -07:00
Victor Vieux 43b7af1dd1 Merge pull request #6150 from LK4D4/remove_used_from_streamformatter
Remove unused and racy "used" param from streamformatter
2014-06-02 11:56:05 -07:00
Michael Crosby 30fdac2cb1 Update cpu stat test for no error
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-06-02 11:54:23 -07:00
Michael Crosby f1a217be0f Merge pull request #6116 from vishh/nsinit_stats
Adding "stats" and "spec" option to nsinit CLI
2014-06-02 11:44:37 -07:00
unclejack 2a1b7f222a resume pulling the layer on disconnect
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-06-02 21:41:22 +03:00
SvenDowideit cac24bbfaf aws json is not javascript style json. trailing comma breaks it :(
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-03 04:30:32 +10:00
James Turnbull d3ff00948f Merge pull request #6157 from SvenDowideit/pr_out_update_networking_md
Update networking.md
2014-06-02 13:46:26 -04:00
Alexandr Morozov 1ae37cef91 Remove unused and racy "used" param from streamformatter
Also tests written
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-06-02 21:43:07 +04:00
Andre Dublin 4ac216d8d3 Update networking.md
grammar

Docker-DCO-1.1-Signed-off-by: Andre Dublin <81dublin@gmail.com> (github: andredublin)

rebased by

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-03 03:41:53 +10:00
Sven Dowideit 2404ce3d26 Merge pull request #6154 from SvenDowideit/pr_out_adding_user_guide
Adding User Guide
2014-06-02 10:39:15 -07:00
Solomon Hykes 0a06e9bd91 Fix format in maintainers files
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-06-02 07:05:06 +00:00
Solomon Hykes 1a93d3b054 Add Cristian as maintainer to pkg/testutils
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-06-02 07:01:17 +00:00
Vishnu Kannan 3723d6341e Adding percpu usage to cgroup stats reported by libcontainer.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-02 06:56:15 +00:00
Vishnu Kannan f7b82be0dd Adding "stats" and "spec" option to nsinit binary which will print the stats and spec respectively.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-06-02 06:37:22 +00:00
cyphar e4497feaba pkg: mflag: flag: added tests for quote-stripped flags
This patch adds some tests to ensure that quoted flags are properly
handled by the mflag package.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-06-02 15:25:38 +10:00
cyphar 0e9c40eb82 pkg: mflag: flag: make mflag strip quotes in -flag="var" forms
This patch improves the mflag package to ensure that things arguments
to mflag such as `-flag="var"` or `-flag='var'` have the quotes
stripped from the value (to mirror the getopt functionality for similar
flags).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-06-02 15:25:33 +10:00
Solomon Hykes ca231b3de5 pkg/testutils: utility functions to facilitate writing Go tests
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-06-01 23:23:31 +00:00
William Henry 2858180a9a Changed the term rename to alias etc.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/docker-tag.1.md
2014-06-01 17:16:14 -06:00
James Turnbull a7b2c4804b Adding User Guide
* Added User Guide section outlines.
* Added User Guide to menu.
* Moved HTTPS example to articles.
* Replaced Hello World example with User Guide.
* Moved use cases out of examples.
* Updated Introduction to add User Guide.
* Redirected migrated /use and /articles links.
* Added Docker.io section
* Added Dockerized section
* Added Using Docker section
* Added Docker Images section
* Added Docker Links section
* Added Docker Volumes section

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-06-01 17:34:07 -04:00
Sven Dowideit 4edcbfdeb7 Merge pull request #6140 from zanedeg/patch-1
Updated link to new docker-node-hello repository
2014-06-02 07:32:43 +10:00
Sven Dowideit 758e23df4d Merge pull request #5924 from SvenDowideit/docs-build-instructions
Add documentation build steps for the next release manager to follow.
2014-06-01 08:31:51 +10:00
SvenDowideit 953abf6ae7 Add documentation build steps for the next release manager to follow.
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-06-01 08:31:33 +10:00
unclejack 2024a0e517 Merge pull request #6089 from unclejack/docker_build_copy
add support for COPY to docker build
2014-06-01 01:26:31 +03:00
William Henry e471a87f19 Fixed some typos and other issues from ostezer comments.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/docker-build.1.md
	modified:   contrib/man/md/docker-run.1.md
	modified:   contrib/man/md/docker-tag.1.md
2014-05-31 15:44:17 -06:00
O.S. Tezer b51802a47c Merge pull request #6073 from SvenDowideit/b2d-port-redirection-docs
sync the initial port redirection docs from b2d
2014-05-31 13:58:28 -07:00
Zane DeGraffenried 0658868c7f Updated link to new docker-node-hello repository 2014-05-31 14:55:59 -06:00
Shane Canon f9705477d0 Fix for setuid race condition in LXC driver
This is a fix for a race condition in the LXC driver.  This is described
more in issue #6092.

Closes #6092

Docker-DCO-1.1-Signed-off-by: Shane Canon <scanon@lbl.gov> (github: scanon)
2014-05-31 10:42:48 -07:00
Sam Bailey 05e9574cf3 add mkimage support for mageia using urpmi
Docker-DCO-1.1-Signed-off-by: Sam Bailey <sam@thatsamguy.com> (github: thatsamguy)
2014-05-31 21:37:56 +10:00
unclejack 05cf3498a6 Merge pull request #6128 from crosbymichael/empty-sqlite
Init database if empty file
2014-05-31 06:56:00 +03:00
unclejack af31fe95cd Merge pull request #6129 from crosbymichael/copy-all-in-priv
Ensure all dev nodes are copied for privileged
2014-05-31 06:40:20 +03:00
Michael Crosby 69989b7c06 Ensure all dev nodes are copied for privileged
This also makes sure that devices are pointers to avoid copies
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-30 18:39:11 -07:00
Victor Vieux 1dd02ff4a0 update docs
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-31 01:28:08 +00:00
Victor Vieux 68fb7f4b74 Standardize API keys: CamelCase
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-31 01:22:07 +00:00
Michael Crosby b0ea389c69 Init database if empty file
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-30 17:44:00 -07:00
unclejack 0ef637722f Merge pull request #6097 from timthelion/consistentdevices
Refactor device handling code
2014-05-31 03:34:52 +03:00
Michael Crosby efb4ebcfe8 Merge pull request #6127 from unclejack/reuse_timestamp
reuse timestamp, don't call time.Now() 3 times
2014-05-30 17:21:19 -07:00
unclejack b64209f7b6 reuse timestamp, don't call time.Now() 3 times
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-31 03:03:51 +03:00
Michael Crosby 8ac516094e Merge pull request #5947 from glebfm/fix-socket-race-condition
Fix race condition during socket creation
2014-05-30 15:07:06 -07:00
unclejack b46449cb33 Merge pull request #6123 from vieux/no_number_default
no default default number in names
2014-05-31 00:55:11 +03:00
unclejack 0f40cedc23 Merge pull request #6124 from vieux/standadize_debug_iptables
use stderr to debug iptables
2014-05-31 00:46:28 +03:00
unclejack c90faa47b6 Merge pull request #6065 from vieux/fix_race_waitlock
update container's state after we close the waitLock
2014-05-31 00:38:35 +03:00
Victor Vieux 5708aa62f3 use stderr to debug iptables
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-30 19:39:42 +00:00
Timothy Hobbs 608702b980 Refactor device handling code
We now have one place that keeps track of (most) devices that are allowed and created within the container.  That place is pkg/libcontainer/devices/devices.go

This fixes several inconsistencies between which devices were created in the lxc backend and the native backend.  It also fixes inconsistencies between wich devices were created and which were allowed.  For example, /dev/full was being created but it was not allowed within the cgroup.  It also declares the file modes and permissions of the default devices, rather than copying them from the host.  This is in line with docker's philosphy of not being host dependent.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-30 19:21:29 +00:00
Victor Vieux e70a5ab014 no default default number in names
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-30 19:08:21 +00:00
Michael Crosby 251de0887b Merge pull request #6121 from unclejack/refactor_daemon_restore
optimize restore & use Getenv less in daemon.go
2014-05-30 11:37:12 -07:00
unclejack 0fd0deb75d optimize restore & use Getenv less in daemon.go
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-30 21:20:27 +03:00
Matt Heon ba1c0f4c81 Documented special case of container memory limits in manpages
If a container is started with a memory limit of 0, no memory limit is applied.
To prevent this from causing confusion, make interaction explicit in docs.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
2014-05-30 13:55:13 -04:00
Michael Crosby 9e58a77e26 Merge pull request #6118 from LK4D4/fix_race_conditions
Fix race conditions
2014-05-30 10:43:56 -07:00
Alexandr Morozov adb639117b Atomically increment sequence in pkg/netlink
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 16:08:29 +04:00
Alexandr Morozov af17b01ad7 Goroutine-safe daemon.containers
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 16:08:06 +04:00
Alexandr Morozov 64bd6a6a53 Fix race in native driver on activeContainers usage
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 14:16:00 +04:00
Alexandr Morozov 4e5f6951f2 Fix races in set/get currentInterfaces in networkdriver
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 14:16:00 +04:00
Alexandr Morozov ce9e9ff4a1 Fix race on shutting down
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 14:15:46 +04:00
Alexandr Morozov c4990ab999 Fix races on TagStore accessing
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-30 13:36:14 +04:00
unclejack 838d6a9e9b Merge pull request #5855 from philips/remove-dead-code
chore(graph/graph): remove dead code
2014-05-30 04:51:12 +03:00
SvenDowideit 23dd221e52 sync the initial docs from b2d
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-30 11:16:38 +10:00
Michael Crosby 107cd5dd5f Merge pull request #6109 from unclejack/block_aufs_on_top_of_btrfs
block aufs on incompatible file systems
2014-05-29 16:58:30 -07:00
unclejack e8a87120d4 block aufs on incompatible file systems
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-30 02:32:27 +03:00
Michael Crosby a86975f29b Merge pull request #6048 from crquan/use-timeout-conn
Use Timeout Conn wrapper to set read deadline for downloading layer
2014-05-29 15:23:21 -07:00
Michael Crosby 887ab77922 Merge pull request #6096 from vishh/stats_strongtype
Replaced fs.Stats() interface with fs.GetStats() which returns a cgroups.Stats strong type
2014-05-29 15:23:01 -07:00
Vishnu Kannan 72e6e5ff7e Added a new method cgroups.GetStats() which will return a cgroups.Stats object which will contain all the available cgroup Stats.
Remove old Stats interface in libcontainers cgroups package.
Changed Stats to use unit64 instead of int64 to prevent integer overflow issues.
Updated unit tests.

Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-05-29 20:16:49 +00:00
Michael Crosby 189c600b3b Merge pull request #6105 from gdm85/master
Do not consider iptables' output an error in case of xtables lock
2014-05-29 11:06:25 -07:00
Michael Crosby e2935f9c16 Merge pull request #6106 from discordianfish/improve-error-btrfs-on-non-btrfs
Add ErrPrerequisites to improve misleading errors
2014-05-29 11:00:13 -07:00
Victor Marmol f65f1660c0 Merge pull request #6098 from crosbymichael/retry-mount
Handle EBUSY on remount
2014-05-29 09:18:54 -07:00
Johannes 'fish' Ziemke 75754e69f6 Add ErrPrerequisites to improve misleading errors
There are two cases where we can't use a graphdriver:

1) the graphdriver itself isn't supported by the system
2) the graphdriver is supported by some configuration/prerequisites are
missing

This introduces a new error for the 2) case and uses it when trying to
run docker with btrfs backend on a non-btrfs filesystem.

Docker-DCO-1.1-Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org> (github: discordianfish)
2014-05-29 17:09:55 +02:00
Giuseppe Mazzotta 5e3b643ce6 * do not consider iptables' output an error in case of xtables lock
Docker-DCO-1.1-Signed-off-by: Giuseppe Mazzotta <gdm85@users.noreply.github.com> (github: gdm85)
2014-05-29 15:57:29 +02:00
Sven Dowideit 8622641b58 Merge pull request #6100 from SvenDowideit/pr_out_docs_installation_google_update_to_use_container_vm_images
docs/installation/google: update to use container-vm images
2014-05-29 11:41:43 +10:00
Johan Euphrosine 456ba11d89 docs/installation/google: update to use container-vm images
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)

rebased by

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-29 11:36:28 +10:00
Sven Dowideit b9619bf957 Merge pull request #6099 from SvenDowideit/pr_out_updated_documentation_for_mentioning_images_vs_containers
updated documentation for mentioning images vs containers
2014-05-29 11:23:53 +10:00
Robin Speekenbrink a0505edc9a updated documentation for mentioning images vs containers
Docker-DCO-1.1-Signed-off-by: Robin Speekenbrink <robin@kingsquare.nl> (github: fruitl00p)

rebased by

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-29 11:20:41 +10:00
Michael Crosby 5d04b9deaf Handle EBUSY on remount
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-28 18:10:50 -07:00
Victor Vieux b204b97c9a Merge pull request #6083 from bernerdschaefer/nsinit-drop-capabilities-after-changing-user
SETUID/SETGID not required for changing user
2014-05-28 17:29:17 -07:00
unclejack 341a2b85be Merge pull request #5402 from SvenDowideit/dont-update-authors
Don't add yourself to the AUTHORs file - its generated
2014-05-29 02:00:29 +03:00
unclejack 745445ebb7 Merge pull request #6067 from SvenDowideit/go-fmt-s
gofmt does not result in the same thing as go fmt -s, which is what travis uses
2014-05-29 01:58:03 +03:00
unclejack a8131c7354 Merge pull request #6090 from alexlarsson/fix-console
Fix /dev/console
2014-05-29 01:09:33 +03:00
unclejack 180c2a6785 add support for COPY to docker build
This adds a COPY command to docker build which works like ADD, but is
only for local files and it doesn't extract files.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-29 00:07:52 +03:00
Alexander Larsson 7f5cd76824 libcontainer: Don't create a device node on /dev/console to bind mount on
There is no need for this, the device node by itself doesn't work, since
its not on a devpts fs, and we can just a regular file to bind mount over.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-28 21:07:40 +02:00
Alexander Larsson 35d08bdd01 Revert "Remove the bind mount for dev/console which override the mknod/label"
This reverts commit ae85dd5458.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-28 21:07:27 +02:00
unclejack 2330be2adc Merge pull request #6076 from LK4D4/remove_collections_package
Remove collections package
2014-05-28 21:32:27 +03:00
Victor Marmol 5e2af07137 Merge pull request #5868 from jhspaybar/5749-libcontainerroutes
libcontainer support for arbitrary route table entries
2014-05-28 10:50:56 -07:00
William Thurston bf7f360dca Fixes #5749
libcontainer support for arbitrary route table entries

Docker-DCO-1.1-Signed-off-by: William Thurston <me@williamthurston.com> (github: jhspaybar)
2014-05-28 17:42:02 +00:00
FLGMwt 50417f6abc Change 'Uploading context' wording
Docker-DCO-1.1-Signed-off-by: Ryan Stelly <ryan.stelly@live.com> (github: FLGMwt)
2014-05-28 11:59:29 -05:00
Bernerd Schaefer 0563453b91 SETUID/SETGID not required for changing user
It is no longer necessary to pass "SETUID" or "SETGID" capabilities to
the container when a "user" is specified in the config.

Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-28 16:41:48 +02:00
Bernerd Schaefer fd58524f81 Add system.SetKeepCaps and system.ClearKeepCaps
Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-28 16:40:36 +02:00
Sven Dowideit f00c2e5007 Merge pull request #5957 from cgwalters/manpage-typo
docker-run.1: Fix typo 'priviledged'
2014-05-28 22:43:46 +10:00
Alexandr Morozov 31f0a61a3d Remove collections package
It doesn't needed anymore аfter port and ip allocators refactoring
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4dmath@gmail.com> (github: LK4D4)
2014-05-28 13:59:45 +04:00
Derek 02f4ae6c56 Use Timeout Conn wrapper to set read deadline for downloading layer
Docker-DCO-1.1-Signed-off-by: Derek <crq@kernel.org> (github: crquan)
2014-05-27 22:50:04 -07:00
Sven Dowideit 77ae37a383 Merge pull request #6068 from jpetazzo/update-wording-private-self-hosted-registries
Replace 'private' with 'self-hosted' in a couple of places
2014-05-28 14:39:05 +10:00
Victor Vieux e56cf35c29 Merge pull request #6069 from crosbymichael/dm-errors
Return devmapper errors with additional text
2014-05-27 19:15:59 -07:00
Michael Crosby 6964012382 Return devmapper errors with additional text
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-27 19:03:57 -07:00
Jérôme Petazzoni b64535166f Replace 'private' with 'self-hosted' in a couple of places
Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)
2014-05-27 18:57:25 -07:00
SvenDowideit 147ad3480d gofmt does not result in the same thing as go fmt -s file.go, which is what travis tests for
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-28 11:11:47 +10:00
O.S. Tezer d53eb2f67c Merge pull request #6053 from jamtur01/produpdate
Removed Docker production warnings
2014-05-27 18:00:49 -07:00
Victor Vieux 1de52caedc update container's state after we close the waitLock
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-28 00:18:51 +00:00
Sven Dowideit 58a0e8af8a Merge pull request #6044 from zdover23/27May_dockerfile_2
27 may dockerfile 2
2014-05-28 07:58:02 +10:00
Sven Dowideit b76302e5d9 Merge pull request #6040 from SvenDowideit/installer-docs
Rewrite the mac and windows docs to use the boot2docker installers.
2014-05-28 07:57:43 +10:00
SvenDowideit 5f5d66ade6 Rewrite the mac and windows docs to use the boot2docker installers.
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-28 07:56:15 +10:00
Sven Dowideit 080d8a7a83 Merge pull request #6005 from jimperrin/master
Updated documentation to include CentOS installation instructions.
2014-05-28 07:55:03 +10:00
unclejack 70c6d806c8 Merge pull request #6063 from vieux/improve_number_detection
improve numeric only id detection
2014-05-28 00:36:57 +03:00
Victor Vieux b8a89ba963 Merge pull request #6062 from crosbymichael/update-waits
Update wait calls to call Wait on Command
2014-05-27 14:17:19 -07:00
Victor Vieux f2baa364a1 improve numeric only id detection
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-27 21:03:12 +00:00
Michael Crosby 5310e8575f Update lxc to use cmd.Wait()
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-27 13:52:05 -07:00
Dinesh Subhraveti 249524ec49 Add Dinesh Subhraveti to MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Dinesh Subhraveti <dineshs@altiscale.com> (github: dineshs-altiscale)
2014-05-27 16:45:17 -04:00
Michael Crosby b9de22e828 Update wait calls to call Wait on Command
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-27 13:38:24 -07:00
Victor Vieux a605379927 Merge pull request #6059 from erikh/fix-tests
Fix race condition in CLI tests: diff was not acquiring a container lock
2014-05-27 13:19:32 -07:00
unclejack 0d9a5ce6dd Merge pull request #6025 from crosbymichael/concurrent-names
Improve name generation on concurrent requests
2014-05-27 23:18:19 +03:00
Michael Crosby 88cefe20b4 Merge pull request #6030 from erikh/5971-fix-zombies
Add Wait() calls in the appropriate spots
2014-05-27 12:53:17 -07:00
Erik Hollensbe 8b77e0183e Fix race condition in CLI tests: diff was not acquiring a container lock
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-05-27 12:28:31 -07:00
Erik Hollensbe b01c3283fa libcontainer/nsinit: remove Wait call from Exec and Kill from Attach in tty_term.go
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-05-27 12:26:56 -07:00
Erik Hollensbe 92e41a02ce Add Wait() calls in the appropriate spots
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-05-27 12:26:56 -07:00
Michael Crosby bdb5aa4c27 Merge pull request #5937 from LK4D4/ipallocator_refactoring
Ip allocator refactoring
2014-05-27 12:22:36 -07:00
Victor Vieux b904d0af56 Merge pull request #6051 from LK4D4/move_some_build_tests_to_integration_cli
Move some build tests to integration cli
2014-05-27 12:11:42 -07:00
Victor Vieux 754797bba7 Merge pull request #6000 from cyphar/5619-fix-unsafe-path-resolution
Properly handle paths with symlink path components
2014-05-27 12:06:19 -07:00
Alexandr Morozov ef94ac7d2f Ip allocator refactoring
We don't need ordered set anymore, also some cleanings and simple
benchmark.
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 22:56:26 +04:00
William Henry a14a88e53d Fixed some typos in docker-build.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/docker-build.1.md
2014-05-27 12:05:48 -06:00
William Henry 2cb184ade5 Some changes to semantics around tagging, detaching.
Tried to clarify some of the semantics regarding --tag and renaming etc.
Added some text clarifying how to detach from a running containers.
Fixed a bug that reference /varlog instead of /dev/log.

Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

Changes to be committed:
	modified:   docker-attach.1.md
	modified:   docker-build.1.md
	modified:   docker-run.1.md
	modified:   docker-tag.1.md
2014-05-27 11:56:11 -06:00
Michael Crosby a22622b022 Merge pull request #5983 from vieux/add_tianon_mailmap_authors
add Tianon as maintainer of AUTHORS and .mailmap
2014-05-27 10:43:17 -07:00
Zac Dover 2bbf87504b fixed spacing, removed extraneous line
Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)
2014-05-28 03:32:52 +10:00
Tianon Gravi b2cf28306d Merge pull request #6029 from jeffreybolle/master
Update upstart script to ensure networking is up before starting docker
2014-05-27 11:23:54 -06:00
James Turnbull 838e69e11e Removed Docker production warnings
* Removed warnings.
* Removed inconsistent Community installation sections.
* Fixed all installation page descriptions.
* Removed old .inc files.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-27 13:08:19 -04:00
William Henry ca49da41ee Merge branch 'master' of https://github.com/dotcloud/docker 2014-05-27 09:11:12 -06:00
Jim Perrin b7e88250f4 Update documentation per suggestions from ostezer
Docker-DCO-1.1-Signed-off-by: Jim Perrin <jperrin@centos.org> (github: jimperrin)
2014-05-27 08:59:30 -05:00
James Turnbull cf47b46036 Merge pull request #6046 from thomasleveil/patch-1
Update ubuntulinux.md - bash completion
2014-05-27 05:39:39 -07:00
Thomas LEVEIL 250229605f Update ubuntulinux.md and debian.md
to add bash completion for the docker command
2014-05-27 14:17:01 +02:00
Alexandr Morozov b25a9b7138 Move entrypoint build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:36:38 +04:00
LK4D4 81d1641139 Move expose build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:35 +04:00
LK4D4 c58991f31a Move cmd build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:35 +04:00
LK4D4 b05be686ec Move env build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:35 +04:00
LK4D4 40630ce4b6 Move relative workdir build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:35 +04:00
LK4D4 360fb3d4ea Move user build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:34 +04:00
LK4D4 3dd4c5f499 Move maintainer build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:34 +04:00
LK4D4 11f7f0bf9b Move volume build test to integration-cli
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-27 08:00:34 +04:00
O.S. Tezer e5ba9f6443 Merge pull request #6042 from dcorking/patch-1
Update fedora.md
2014-05-26 12:27:45 -07:00
David Corking b26bebac31 Update fedora.md
The renamed package 'wmdocker' did not make it into Fedora 20. It is still available for rawhide (will be Fedora 21.)
2014-05-26 12:29:27 +01:00
Sven Dowideit 4a2ca56ea0 Merge pull request #6039 from zdover23/26May_dockerfile
Dockerfile.5.md stub
2014-05-26 16:46:12 +10:00
Zac Dover 41a913b390 Dockerfile.5.md stub
Properly formatted DCO:
Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: zdover23)

Docker-DCO-1.1-Signed-off-by: Zac Dover <zdover@redhat.com> (github: )
2014-05-26 15:57:20 +10:00
Tianon Gravi bddcbc1b15 Merge pull request #6037 from tianon/fix-debootstrap-typo
Fix embarrassing debootstrap typo :)
2014-05-25 22:37:59 -06:00
Tianon Gravi dd3319636d Fix embarrassing debootstrap typo :)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-25 21:59:43 -06:00
Jeffrey Bolle c52889db27 Ensure networking is up before starting docker
This resolves a problem that I have been having where docker starts before networking is up. See issue #5944 for more details.

Docker-DCO-1.1-Signed-off-by: Jeffrey Bolle <jeffreybolle@gmail.com> (github: jeffreybolle)
2014-05-24 19:03:11 +01:00
James Turnbull 7393eafde7 Merge pull request #6001 from jamtur01/introfixes
Some fixes to the Intro pages
2014-05-25 00:21:40 +10:00
James Turnbull 955bfda99a Some fixes to the Intro pages
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-25 00:20:59 +10:00
Jim Perrin 1cb2570a27 Correct appearance of shell output
Docker-DCO-1.1-Signed-off-by: Jim Perrin <jperrin@centos.org> (github: jimperrin)
2014-05-24 08:33:41 -05:00
Sven Dowideit 22777fbc1e Merge pull request #6006 from therealprologic/master
Updated installation docs for CRUX as a Docker Host.
2014-05-24 16:08:14 +10:00
Sven Dowideit d81912e323 Merge pull request #6016 from ronsmits/patch-1
Update using_supervisord.md
2014-05-24 16:07:32 +10:00
Sven Dowideit b820b9778f Merge pull request #6023 from proppy/patch-4
docs/reference/builder: fix USER doc
2014-05-24 13:41:34 +10:00
cyphar ff24a32876 integration-cli: cp: added symlink-related tests
This patch adds cli integration tests for #5619, which are tests
to ensure that symlinks are kept relative to the container rootfs
(even when a path component).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-24 11:01:20 +10:00
cyphar 328d2cba11 daemon: container: properly handle paths with symlink path components
This patch fixes the incorrect handling of paths which contain a
symlink as a path component when copying data from a container.
Essentially, this patch changes the container.Copy() method to
first "resolve" the resource by resolving all of symlinks encountered
in the path relative to the container's rootfs (using pkg/symlink).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-24 11:01:19 +10:00
Michael Crosby 6ec86cb6e5 Improve name generation on concurrent requests
Fixes #2586

This fixes a few races where the name generator asks if a name is free
but another container takes the name before it can be reserved.  This
solves this by generating the name and setting it.  If the set fails
with a non unique error then we try again.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 17:51:16 -07:00
Johan Euphrosine e89cb9a5e0 docs/reference/builder: fix USER doc
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-23 17:20:15 -07:00
Guillaume J. Charmes baed5d7433 Merge pull request #6020 from vieux/update_test_remove_nc_bind_mount
now busybox as nc
2014-05-23 14:48:24 -07:00
Michael Crosby 3b4b0a901d Merge pull request #6018 from vishh/stats_strongtype
Strong type all stats exported by libcontainer
2014-05-23 14:35:14 -07:00
Michael Crosby f3bd86376e Merge pull request #6022 from crosbymichael/iptables-wait
Add check for iptables xlock support
2014-05-23 14:25:51 -07:00
Michael Crosby 034babf175 Add check for iptables xlock support
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 14:18:50 -07:00
Victor Vieux 0be44d1a0a now busybox as nc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-23 21:03:52 +00:00
Tibor Vass 7e38d6a358 Merge pull request #6019 from tianon/update-dockerfile-busybox
Add specific branch of @jpetazzo's busybox to clone from so we can assume nice things about it
2014-05-23 13:46:48 -07:00
Vishnu Kannan 321b457044 Added stats.go which provides strong types for all stats that will be exported by libcontainer. This commit only introduces the strong type.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-05-23 20:42:43 +00:00
Tianon Gravi 886d3c9396 Simplify "adduser" in the Dockerfile to use the more scripting-friendly "useradd"
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-23 14:32:43 -06:00
Tianon Gravi efa79a09a9 Add specific branch of jpetazzo's busybox to clone from so we can assume nice things about it
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-23 14:32:43 -06:00
Tibor Vass cfded04ac2 Merge pull request #6015 from crosbymichael/update-test-flags
Update integration tests with --net flag
2014-05-23 13:31:47 -07:00
Tibor Vass 174ab74755 Merge pull request #5998 from crosbymichael/iptables-wait
Add wait flag to iptables
2014-05-23 13:31:35 -07:00
Michael Crosby 2487237937 Update ip test to parse new output
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 13:22:01 -07:00
Ron Smits 9429fe6f49 Update using_supervisord.md
changed the version of ubuntu to 13.04. In latest sshd will not work.
2014-05-23 21:15:44 +02:00
Victor Vieux 0874b85627 Merge pull request #6008 from rhatdan/umount
We need to umount /var/lib/docker when the daemon exits.
2014-05-23 12:01:38 -07:00
Victor Vieux 494cbbec44 Merge pull request #5993 from LK4D4/fix_race_on_stop_#5154
Add synchronization between jobs and server closing
2014-05-23 11:31:10 -07:00
Michael Crosby 581e8e8918 Update integration tests with --net flag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 11:31:01 -07:00
James Turnbull 973fae9d75 Merge pull request #5952 from nathanleclaire/patch-2
Fix a few issues.
2014-05-24 03:00:37 +10:00
Tianon Gravi 3c430e2599 Merge pull request #6012 from tianon/check-config-cgroup-subsystems
Add more required cgroup subsystems to check-config.sh
2014-05-23 10:43:16 -06:00
Nathan LeClaire 1e74cd0e01 Fix a few issues.
-single-dash => --double-dash for a few flags, and also there was a missing "B", as in "Container B".

Docker-DCO-1.1-Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com> (github: nathanleclaire)
2014-05-23 09:36:27 -07:00
Tianon Gravi 0c0ffb7773 Add more required cgroup subsystems to check-config.sh (specifically, SCHED for cpu and CPUACCT for cpuacct)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-23 10:27:09 -06:00
Jim Perrin 2a35e41a9c Squashed for pull request
Updated documentation to include CentOS installation instructions.
Extraneous line removal, description change

Docker-DCO-1.1-Signed-off-by: Jim Perrin <jperrin@centos.org> (github: jimperrin)
2014-05-23 10:46:01 -05:00
Dan Walsh a3ff8a98f7 We need to umount /var/lib/docker when the daemon exits.
Currently we are leaving it bind mounted on stop.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-05-23 11:43:46 -04:00
James Mills c0529e5fc1 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-05-24 01:18:00 +10:00
James Turnbull a6577708ab Merge pull request #5949 from nathanleclaire/patch-1
Change single-dash flag usage to double-dash
2014-05-23 13:43:23 +10:00
Michael Crosby b315c380f4 Add wait flag to iptables
Fixes #1573
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 01:24:58 +00:00
Tibor Vass be622a78da Merge pull request #5997 from crosbymichael/add-hang
Fix add hang when dest is .
2014-05-22 17:48:51 -07:00
Michael Crosby 04e357d09f Merge pull request #25 from tiborvass/3960-add-file-hangs
adding test for hanging ADD src .
2014-05-22 17:38:11 -07:00
Tibor Vass 1ce5457d57 adding test for hanging ADD src .
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-05-22 17:28:04 -07:00
Michael Crosby c8ada301ba Fix add hang when dest is .
Fixes #3960
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-23 00:26:38 +00:00
Michael Crosby 3d78c49aab Merge pull request #5995 from vieux/recur_nodes
Add device nodes recursively
2014-05-22 16:35:27 -07:00
Victor Vieux b6c65df093 update test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-22 22:50:41 +00:00
Victor Vieux 0abb52c7a9 add recursive device nodes
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-22 22:29:13 +00:00
Michael Crosby 24a58a66e3 Merge pull request #5994 from vmarmol/libcontainers-stats
Make all cgroup stats output int64s instead of float64.
2014-05-22 14:24:14 -07:00
Victor Marmol 4a33a757d5 Make all cgroup stats output int64s instead of float64.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-22 20:53:36 +00:00
Alexandr Morozov f92d68a6ce Add synchronization between jobs and server closing
Fixes #5154
Daemon waiting 15 seconds for finishing server jobs before shutdown. In
this time it doesn't accept new jobs. After this time, it shutdown
despite running jobs.
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-22 22:54:49 +04:00
Michael Crosby db1a3551a3 Merge pull request #5839 from unclejack/improve_build_rm
add --force-rm to clean up after a failed build
2014-05-22 10:54:05 -07:00
Tianon Gravi 8006f6583d Merge pull request #5967 from tianon/consolidated-mkimage
Add new consolidated mkimage scripts
2014-05-22 11:27:08 -06:00
unclejack 32c1e3005f Merge pull request #5990 from alexlarsson/no-discard-mkfs
devmapper: Don't enable discard during mkfs.ext4
2014-05-22 19:38:21 +03:00
Alexander Larsson 42708181b1 devmapper: Don't enable discard during mkfs.ext4
There is no reason to do discard durink mkfs, as the filesystem
is on a newly allocated device anyway. Discard is a slow operation,
so this may help initial startup a bit, especially if you use a larger
thin pool.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-22 09:23:52 +02:00
James Turnbull 7470ebf30b Merge pull request #5746 from ImJasonH/patch-1
Update google.md
2014-05-22 13:43:40 +10:00
Victor Vieux 55d41c3e21 Merge pull request #5976 from crosbymichael/getpids
Move get pid into cgroup implementation
2014-05-21 19:09:50 -07:00
Victor Vieux 5a0a03e394 Merge pull request #5922 from crosbymichael/host-dev-priv
Mount /dev in tmpfs for privileged containers
2014-05-21 18:56:24 -07:00
James Turnbull 2fec15cff1 Merge pull request #5982 from jamtur01/bitbucket
Added BitBucket support to documentation
2014-05-22 11:35:17 +10:00
Nathan LeClaire e7babb28cc Change single-dash flag usage to double-dash
The single-dash long-form flag usage is deprecated.

Docker-DCO-1.1-Signed-off-by: Nathan LeClaire <nathanleclaire@gmail.com> (github: nathanleclaire)
2014-05-21 17:07:04 -07:00
James Turnbull cd44cd26cb Merge pull request #5959 from tpng/patch-1
Add instructions for persisting data
2014-05-22 09:55:05 +10:00
Sven Dowideit a0260c1181 Merge pull request #5897 from jamtur01/newintro
Rewrite of the Introduction documentation
2014-05-21 16:53:03 -07:00
Michael Crosby 4bb4bf634a Merge pull request #5859 from philips/append-etc-hosts-not-bind
fix(daemon): prepend host /etc/hosts instead of bind mounting
2014-05-21 15:57:59 -07:00
Victor Vieux fe1d297b9d Merge pull request #5895 from tianon/update-authors
Update AUTHORS and .mailmap
2014-05-21 22:57:05 +00:00
Victor Vieux cedd76cb52 Merge pull request #5981 from philips/bump-go-systemd
vendor: bump github.com/coreos/go-systemd to v2
2014-05-21 15:52:35 -07:00
Victor Vieux b1464b2daa add Tianon as maintainer of AUTHORS and .mailmap
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-21 22:48:31 +00:00
James Turnbull 62468a3eba Added BitBucket support to documentation
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-22 08:35:10 +10:00
Brandon Philips df5585b273 vendor: bump github.com/coreos/go-systemd to v2
There are a couple of bugfixes since this was last bumped. Pull them in.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-21 15:31:04 -07:00
Brandon Philips 61ac745d7a integration-cli: fix spelling error in test
Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-21 15:20:29 -07:00
Brandon Philips 5579bec47b integration-cli: tests for /etc/hosts and net=host
Some basic tests to make sure this is acting correctly on machines.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-21 15:20:29 -07:00
Michael Crosby 718e522c71 Merge pull request #5979 from rhatdan/terminal
This check was backwards.
2014-05-21 14:51:13 -07:00
Dan Walsh 26b4a4920a This check was backwards.
If I do a

docker events  > /tmp/out

I do not want the control characters getting written to the file.
The check should check the output file not the input file.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-05-21 17:37:40 -04:00
Michael Crosby 811d93326b Move get pid into cgroup implementation
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-21 21:14:07 +00:00
James Turnbull 0056884090 Rewrite of the Introduction documentation
1. Re-aligns the introduction with the new product positioning.
2. Cleanup of some issues with language and formatting.
3. Makes the introduction leaner and meaner.
4. Responds to feedback from product.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-22 07:11:43 +10:00
Victor Vieux b7f9e683c3 Merge pull request #5958 from erikh/5738-docker_port_in_use
docker port in use
2014-05-21 21:06:27 +00:00
Victor Vieux 457cb86cf2 Merge pull request #5975 from tianon/revert-run-tmpfs
Revert "Always mount a /run tmpfs in the container"
2014-05-21 13:46:48 -07:00
Tianon Gravi 8e967fe802 Revert "Always mount a /run tmpfs in the container"
This reverts commit 905795ece6.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-21 14:28:19 -06:00
Michael Crosby 2ff4f71528 Merge pull request #5953 from tiborvass/remove-chmod-755
remove chmod 755: fixes #5941
2014-05-21 12:27:06 -07:00
Tibor Vass bb431a7190 for perms checking tests, create files from Go and remove them from git
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-05-21 11:35:12 -07:00
Tibor Vass 56a53c72d2 remove chmod 755: fixes #5941
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-05-21 11:35:08 -07:00
James Turnbull 29a192ca4d Merge pull request #5965 from cpuguy83/5963-fix-single-dash-in-working-with-volumes
Fixes some docs issues with using single-dash arguments where they should be double
2014-05-22 03:31:46 +10:00
Victor Vieux 286a17ff19 Merge pull request #5955 from anandkumarpatel/5923-fix-leaking-go-routine
5923-fix-leaking-go-routine
2014-05-21 10:11:56 -07:00
Erik Hollensbe 91ba337931 bridge: retry any proxy set up failures until we get a successful port, defeats a race condition
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-05-21 09:14:53 -07:00
Erik Hollensbe f0489ce3a9 portallocator: rewrite to simplify, removes race condition
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-05-21 09:14:53 -07:00
Tianon Gravi 51f707cf9d Add deprecation warnings to the mkimage scripts that are have consolidated mkimage implementations
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-21 09:58:11 -06:00
Tianon Gravi 7e42505083 Add new consolidated mkimage scripts
These new scripts are streamlined such that, for example, "contrib/mkimage/debootstrap" is _only_ responsible for filling a directory with the results of running debootstrap, and it can accept any arbitrary arguments.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-21 09:47:36 -06:00
Brian Goff 6d9e64b27b Fixes some docs issues with using single-dash arguments where they should be double
I found a bunch of issues where we have "-<opt>" instead of "--<opt>".
Also a couple of other issues, like "-notrunc", which is now "--no-trunc"
Fixes #5963

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-05-21 09:35:22 -04:00
unclejack a94a87778c Merge pull request #5954 from vieux/fix_cp_error
Ignore lchown error on docker cp
2014-05-21 15:55:57 +03:00
Colin Walters cfe7211a22 man/docker-run.1: Fix typo 'priviledged', add missing closing brackets
Docker-DCO-1.1-Signed-off-by: Colin Walters <walters@verbum.org> (github: cgwalters)
2014-05-21 07:00:38 -04:00
tpng accea18920 Add instructions for persisting data
Docker-DCO-1.1-Signed-off-by: Benny Ng <benny.tpng@gmail.com> (github: tpng)
2014-05-21 16:45:41 +08:00
James Turnbull f37339c2db Merge pull request #5765 from jamtur01/contribf
Added to small patch exemption to cover Markdown/syntax errors
2014-05-21 17:13:03 +10:00
AnandkumarPatel 789a8f2616 use buffered channel so goroutine does not get blocked on done <- true when a timeout occurs.
Docker-DCO-1.1-Signed-off-by: Anandkumar Patel <anandkumarpatel@gmail.com> (github: anandkumarpatel)
2014-05-20 21:33:40 -07:00
Michael Crosby f042c3c157 Update code post codereview
Add specific types for Required and Optional DeviceNodes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-21 00:40:41 +00:00
Victor Vieux 9e51b7abae ignore lchown error on docker cp
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-21 00:23:17 +00:00
Victor Vieux 5eef0a28cb add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-21 00:10:07 +00:00
Michael Crosby ed5892ed4e Update documentation for container struct in libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-20 23:34:46 +00:00
Michael Crosby 34c05c58c8 Mount /dev in tmpfs for privileged containers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-20 22:51:24 +00:00
Michael Crosby 83e9dc7200 Merge pull request #5755 from vieux/move_inspect_daemon
move inspect from server to daemon
2014-05-20 15:50:38 -07:00
Tianon Gravi 1f219672fa Merge pull request #5950 from tianon/update-deps
Update gorilla/mux, gorilla/context, and kr/pty deps
2014-05-20 16:16:21 -06:00
Michael Crosby 1310243d48 Merge pull request #5946 from crosbymichael/lxc-host-net
Fix network mode for lxc 1.0
2014-05-20 14:51:33 -07:00
Victor Vieux 240fad4974 Merge pull request #5951 from vieux/pr5919
Fix remote add cache
2014-05-20 14:33:05 -07:00
Victor Vieux 03a109e446 add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-20 21:31:28 +00:00
Guillaume J. Charmes bcfe2ceffb Remove the mtime for temp file. Prevent false negative cache
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-20 21:31:28 +00:00
Brice Jaglin 9810da853b force the read of the tarSum so that sums actually get computed
Docker-DCO-1.1-Signed-off-by: Brice Jaglin <bjaglin@teads.tv> (github: bjaglin)
2014-05-20 21:31:28 +00:00
Michael Crosby 70d35b9d39 Merge pull request #5918 from crosbymichael/volumes-commit
Do not commit host bind mounts into image
2014-05-20 14:28:49 -07:00
Tianon Gravi d98af1236c Update gorilla/mux, gorilla/context, and kr/pty deps
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-20 15:23:50 -06:00
Michael Crosby e2d79bec3a Update runconfig unit test for changes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-20 21:11:33 +00:00
Tianon Gravi a16cb394fa Merge pull request #5945 from crosbymichael/lxc-version-bump
Update LXC requirement to 1.0
2014-05-20 14:54:24 -06:00
Michael Crosby 94f01184be Update lxc requirement to 1.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-20 20:45:22 +00:00
Michael Crosby f915988a5d Merge pull request #5916 from rhatdan/crash
docker '' causes a golang crash.
2014-05-20 13:42:48 -07:00
Victor Vieux 603e00a3a7 move inspect from server to daemon
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-20 19:36:15 +00:00
Gleb Fotengauer-Malinovskiy 24c73ce2d3 Fix race condition during socket creation
Docker-DCO-1.1-Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (github: glebfm)
2014-05-20 23:22:06 +04:00
Michael Crosby 0f27894094 Fix network mode for lxc 1.0
Fixes #5692

This change requires lxc 1.0+ to work and breaks lxc versions less than
1.0 for host networking.  We think that this is a find tradeoff by
bumping docker to only support lxc 1.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-20 19:10:23 +00:00
Dan Walsh bc081a03d8 docker '' causes a golang crash.
This patch fixes the problem.

Docker-DCO-1.1-Signed-off-by: Daniel Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-05-20 14:04:27 -04:00
Michael Crosby e5202de918 Merge pull request #5930 from alexlarsson/add-cap-setfcap
native driver: Don't drop SETFCAP
2014-05-20 10:29:37 -07:00
Michael Crosby f3edb7c0e8 Merge pull request #5929 from alexlarsson/systemd-cgroup-allow-mknod
cgroups: Allow mknod for any device in systemd cgroup backend
2014-05-20 10:13:13 -07:00
Tianon Gravi 47aa9f5a0e Merge pull request #5844 from stpierre/init-script-wait-for-pidfile
Wait for pidfile to exist when starting with RedHat init script
2014-05-20 10:25:03 -06:00
Alexander Larsson fcf2e9a910 native driver: Add required capabilities
We need SETFCAP to be able to mark files as having caps, which is
heavily used by fedora.
See https://github.com/dotcloud/docker/issues/5928

We also need SETPCAP, for instance systemd needs this to set caps
on its childen.

Both of these are safe in the sense that they can never ever
result in a process with a capability not in the bounding set of the
container.

We also add NET_BIND_SERVICE caps, to be able to bind to ports lower
than 1024.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-20 11:31:39 +02:00
Timothy 6854e2997e Add README.md file for the docker directory
See issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-20 09:04:46 +00:00
Alexander Larsson 6029504350 cgroups: Allow mknod for any device in systemd cgroup backend
Without this any container startup fails:
2014/05/20 09:20:36 setup mount namespace copy additional dev nodes mknod fuse operation not permitted

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-20 09:29:32 +02:00
Brandon Philips 000a37fe9d fix(daemon): prepend host /etc/hosts instead of bind mounting
systemd systems do not require a /etc/hosts file exists since an nss
module is shipped that creates localhost implicitly. So, mounting
/etc/hosts can fail on these sorts of systems, as was reported on CoreOS
in issue #5812.

Instead of trying to bind mount just copy the hosts entries onto the
containers private /etc/hosts.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-19 22:32:51 -07:00
Sven Dowideit bfe72c6189 Merge pull request #5920 from jmccrohan/master
docs: cli.md; document docker version output
2014-05-19 21:41:05 -07:00
Jonathan McCrohan 4052a81830 docs: cli.md; document docker version output
Commit 3cec63d56f changed the output of
docker version. Updating docs accordingly.

Docker-DCO-1.1-Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com> (github: jmccrohan)
2014-05-20 02:00:31 +01:00
Sven Dowideit 5511be7512 Merge pull request #5905 from jamtur01/faq
Adding the FAQ back
2014-05-20 10:17:01 +10:00
Michael Crosby d31c37fceb Add test for commiting container with bind mount
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-19 22:57:29 +00:00
Tianon Gravi 05c3325a02 Merge pull request #5890 from LK4D4/fix_tee_hanging_on_test_fails_#5672
Fix hanging on tests failing
2014-05-19 16:37:19 -06:00
Michael Crosby d535d98100 Don't save bind mounts in image
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-19 22:18:37 +00:00
Michael Crosby e454be7567 Move init volumes code to func
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-19 22:04:51 +00:00
Guillaume J. Charmes b5d0bdc9e8 Merge pull request #5915 from vieux/start_remove_link
starts by removing the name from the graph db
2014-05-19 14:38:55 -07:00
Guillaume J. Charmes 2d1c245631 Merge pull request #5913 from crosbymichael/fuse
Make sure dev/fuse is created in container
2014-05-19 14:31:32 -07:00
Victor Vieux c12dd77090 starts by removing the name from the graph db
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-19 21:22:33 +00:00
Michael Crosby b466672a4c Merge pull request #5914 from unclejack/fix_unprivileged_user_creation
add unprivilegeduser via the Dockerfile
2014-05-19 14:08:06 -07:00
unclejack 599cb12bb8 add unprivilegeduser via the Dockerfile
This changes the test TestBuildWithInaccessibleFilesInContext to not
add the user 'unprivilegeduser' and add it via the Dockerfile instead.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:55:28 +03:00
Michael Crosby a87bcefb8b Make sure dev/fuse is created in container
Fixes #5849

If the host system does not have fuse enabled in the kernel config we
will ignore the is not exist errors when trying to copy the device node
from the host system into the container.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-19 20:46:59 +00:00
Guillaume J. Charmes 5fee3774d4 Merge pull request #5911 from LK4D4/chmod_on_add_#3979
Make chmod on ADDed files
2014-05-19 13:35:55 -07:00
unclejack a691fcb277 integcli: add tests for build --rm
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:10:54 +03:00
unclejack b60d647172 default to deleting images via the remote api
This makes the remote API version 1.12 and newer default to
automatically deleting intermediate containers when the build has
succeedeed.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:10:54 +03:00
unclejack 69dcf767fd integcli: test container removal for failed builds
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:10:54 +03:00
unclejack 77f5425260 integcli: add getContainerCount utility function
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:10:54 +03:00
unclejack 667e2bd4ea bump remote api to 1.12 & add --force-rm to build
This adds a `--force-rm` flag to docker build which makes the Docker
daemon clean up all containers, even when the build has failed.

This new flag requires that we bump the remote API, so we also bump the
remote API version.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 23:10:49 +03:00
Alexandr Morozov 620c8c7253 Make chmod on ADDed files
Fixes #3979
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-20 00:09:39 +04:00
unclejack e39299ca1d docs: add back build to remote api v1.10 & v1.11
This adds back the rm query parameter to the remote api docs for api
v1.10 and v1.11.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-19 22:46:19 +03:00
Victor Marmol 30bd2bbc83 Merge pull request #5903 from alexlarsson/writable-proc
Make /proc writable, but not /proc/sys and /proc/sysrq-trigger
2014-05-19 12:21:15 -07:00
Victor Vieux d74b6095c9 Merge pull request #5861 from crquan/fix-user-agent-trailing-space
Remove Trailing Whitespace in User-Agent
2014-05-19 12:08:53 -07:00
Michael Crosby b2275ee8df Merge pull request #5869 from vbatts/vbatts-vendor-capabilities
gocapability: upstream fix for unsporrted caps
2014-05-19 12:08:12 -07:00
Alexander Larsson 68493e2f7f Make /proc writable, but not /proc/sys and /proc/sysrq-trigger
Some applications want to write to /proc. For instance:

docker run -it centos groupadd foo

Gives: groupadd: failure while writing changes to /etc/group

And strace reveals why:

open("/proc/self/task/13/attr/fscreate", O_RDWR) = -1 EROFS (Read-only file system)

I've looked at what other systems do, and systemd-nspawn makes /proc read-write
and /proc/sys readonly, while lxc allows "proc:mixed" which does the same,
plus it makes /proc/sysrq-trigger also readonly.

The later seems like a prudent idea, so we follows lxc proc:mixed.
Additionally we make /proc/irq and /proc/bus, as these seem to let
you control various hardware things.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-19 20:46:05 +02:00
Victor Vieux ccf29f0b94 Merge pull request #5879 from timthelion/docs-sysinit-readme
Add README.md file for sysinit directory
2014-05-19 11:26:22 -07:00
Victor Vieux 7fb5ce44a0 Merge pull request #5875 from timthelion/docs-archive-readme
Add readme file for the archive directory
2014-05-19 11:25:55 -07:00
Victor Marmol cb7680b9b9 Merge pull request #5792 from bernerdschaefer/nsinit-supports-pdeathsig
Add PDEATHSIG support to nsinit library
2014-05-19 11:13:23 -07:00
Victor Vieux 8674ec7f75 Merge pull request #5871 from unclejack/speed_up_buildsixtysteps
integcli: speed up TestBuildSixtySteps
2014-05-19 11:02:36 -07:00
Victor Vieux 40c8fc668c Merge pull request #5876 from timthelion/docs-daemon-readme
Add readme for daemon directory
2014-05-19 10:51:17 -07:00
Victor Vieux 5690e03553 Merge pull request #5877 from timthelion/docs-daemon-config-readme
Add readme for the daemonconfig directory
2014-05-19 10:50:51 -07:00
Victor Vieux 3fa96c55e3 Merge pull request #5874 from timthelion/docs-api-readme
Add readme file for the api directory
2014-05-19 10:50:00 -07:00
Victor Vieux 8eef1be29e Merge pull request #5782 from unclejack/fix_5270 2014-05-19 10:36:10 -07:00
Michael Crosby b50c9a185c Merge pull request #5670 from jmccrohan/master
client: Remove docker new version check
2014-05-19 10:26:58 -07:00
Michael Crosby 15a94fdcbb Merge pull request #5864 from shykes/pr_out_make_cristian_maintainer_of_integration_cli_he_wrote_it
Make Cristian maintainer of integration-cli (he wrote it)
2014-05-19 10:26:18 -07:00
Michael Crosby a3a26cd349 Merge pull request #5907 from vmarmol/caps
Don't drop CAP_FOWNER in the container.
2014-05-19 10:06:29 -07:00
Michael Crosby 265de539ff Merge pull request #5865 from crosbymichael/add-all-caps
Add the rest of the caps so that they are retained in privilged mode
2014-05-19 09:56:55 -07:00
Michael Crosby 66e7cf24b7 Merge pull request #5880 from LK4D4/fix_uid_overflow_#5647
Check uid ranges
2014-05-19 09:55:36 -07:00
Victor Marmol 0abad3ae22 Don't drop CAP_FOWNER in the container. Also sorts the list of allowed
capabilities.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-19 16:52:39 +00:00
Michael Crosby e1c7abe890 Add the rest of the caps so that they are retained in privilged mode
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-19 16:43:31 +00:00
James Turnbull 702442b586 Adding the FAQ back
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-19 10:07:57 -04:00
James Turnbull e5422e212f Merge pull request #5884 from brandon-rhodes/master
Expand the Advanced Networking page to all options
2014-05-19 03:35:48 -04:00
James Turnbull 59e37784ee Merge pull request #5834 from waitingkuo/patch-1
Update ubuntulinux.md
2014-05-19 03:34:14 -04:00
Alexandr Morozov 7cd1e48230 Fix hanging on tests failing
Tee hanging when `go test` exit with non-zero code.
Fixes #5672
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-19 08:26:05 +04:00
Brandon Rhodes ca9c35cdf7 Expand the Advanced Networking page to all options
For issue #5658 this rewrite of the networking page explains what every
single option (unless I missed one!) does both for the Docker server and
also the Docker client when submitting a "docker run".  I somehow
thought that, when I was done, there would be a lot more about setting
up topologies like I did for my Foundations of Python Network
Programming network of Docker containers.  More about making routers and
firewalls that NAT and so forth.  But, at least for this draft, I think
that setting up subnets and setting up point-to-point links is most of
what Docker users will need unless they are doing something exotic.

We can always expand later.

Docker-DCO-1.1-Signed-off-by: Brandon Rhodes <brandon@rhodesmill.org> (github: brandon-rhodes)

Improve networking.md documentation per @jamtur01

Besides catching some typos and awkward sentences, @jamtur01 had several
more thorough changes to suggest:

 *  He illustrated the correct way to delimit "Note" paragraphs in
     Docker documentation.

 *  He helped point out where I was presuming an Ubuntu host running
    Docker, so that I could re-word those sections to be specific that
    the advice only applied to Ubuntu (these mostly related to how to
    set server-wide options and restart the server).

 *  He is happy to have "Ethernet" capitalized even where Linux
    documentation would render it with an ugly lower-case first letter.

Docker-DCO-1.1-Signed-off-by: Brandon Rhodes <brandon@rhodesmill.org> (github: brandon-rhodes)

Improve networking.md per ideas from @SvenDowideit

A response to a bit of further discussion of pull request #5884.
2014-05-18 21:58:39 -04:00
James Turnbull 3b96078856 Merge pull request #5883 from jamtur01/debianinst
Added basic Debian installation page
2014-05-18 19:02:48 -04:00
James Turnbull f8974b5cfc Fixed sudo section to match Debian installation doc
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-18 18:55:58 -04:00
James Turnbull 88afc8992f Added basic Debian installation page
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-18 18:55:36 -04:00
James Turnbull 255eca7193 Merge pull request #5889 from financeCoding/couchdb_doc_nit
removing grep command that depends on perl, better for boot2docker
2014-05-18 23:29:29 +02:00
Tianon Gravi 89c4748b83 Update AUTHORS and .mailmap
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-18 13:26:13 -06:00
Adam Singer 7f9178c6d1 removing grep command that depends on perl, better for boot2docker
Docker-DCO-1.1-Signed-off-by: Adam Singer <financeCoding@gmail.com> (github: financeCoding)
2014-05-18 10:02:39 -07:00
Alexandr Morozov 72d1e40c4a Check uid ranges
Fixes #5647
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-18 20:49:08 +04:00
O.S. Tezer f65db7c565 Merge pull request #5882 from jamtur01/ubfix
Fixed description and keywords on Ubuntu installation docs
2014-05-18 17:26:29 +01:00
O.S. Tezer a2dffd72ef Merge pull request #5886 from financeCoding/mac_doc_nit
command line nit
2014-05-18 17:17:47 +01:00
Adam Singer 21e36ab36c command line nit 2014-05-17 22:04:41 -07:00
Jonathan McCrohan 3cec63d56f client: Rip out HTTP check from docker version
For background to this change please see:
https://github.com/dotcloud/docker/issues/4802
https://github.com/dotcloud/docker/pull/5670

Docker-DCO-1.1-Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com> (github: jmccrohan)
2014-05-18 02:22:22 +01:00
Jonathan McCrohan 82712ed67e client: rearrange docker version output
Rearrange docker version output so that server output matches client
output

Docker-DCO-1.1-Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com> (github: jmccrohan)
2014-05-18 01:49:58 +01:00
James Turnbull a52db7d880 Fixed description and keywords on Ubuntu installation docs
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-17 22:18:08 +02:00
Timothy f9728de7a3 Add README.md file for sysinit directory
Note, this text is just copied from sysinit.go

See Issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-17 18:12:44 +00:00
Timothy 8dfd4b677b Add readme for the daemonconfig directory
See Issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-17 18:01:47 +00:00
Timothy b175b4dd43 Add readme for daemon directory
See issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-17 17:56:02 +00:00
Timothy 28fc387cf0 Add readme file for the archive directory
See issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-17 17:48:07 +00:00
Timothy 3e2b97ef26 Add readme file for the api directory
See issue #5873

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-05-17 17:37:05 +00:00
unclejack 58c11ee0a8 integcli: speed up TestBuildSixtySteps
This improves the TestBuildSixtySteps test by switching from busybox to
scratch and simply adding a file.

This lowers the execution time of that test from 20 seconds to 5
seconds.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-17 17:25:56 +03:00
James Turnbull 9405a58e99 Merge pull request #5850 from rhatdan/fixmanpage
Add description of --volume read-only/read-write to docker-run man page.
2014-05-17 10:50:18 +02:00
O.S. Tezer 4dabca9046 Merge pull request #5832 from stevenburgess/documentation_cli_fix
Refactor b.tar -> busybox.tar
2014-05-17 09:42:20 +01:00
Vincent Batts 4bf03a0fac gocapability: upstream fix for unsporrted caps
@vmarmol has made the fix upstream for not failing if the capability
being dropped is returned as invalid from the syscall, which is the case
when the capability is not supported on the host.
This is a blocker presently for RHEL6.5 on CAP_SYSLOG. We have patched
around this in our RPM for the time being, but this is the proper fix.

See also https://github.com/dotcloud/docker/pull/5810

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-17 03:51:02 -04:00
Solomon Hykes ab6027324d Make Cristian maintainer of integration-cli (he wrote it)
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-16 19:03:08 -07:00
Michael Crosby cc84dd0967 Merge pull request #5863 from vieux/pr5862
Make libcontainer's CapabilitiesMask into a []string (Capabilities). + 	add support for CAP_FOWNER
2014-05-16 18:23:50 -07:00
Victor Vieux 9e7757a3d2 Merge pull request #5827 from vieux/fix_multiple_events_on_same_computer
allow 2 docker events to be opened on the same computer over unix socket
2014-05-16 18:17:46 -07:00
Victor Vieux a0070f0c17 add support for CAP_FOWNER
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-17 01:16:07 +00:00
Victor Marmol 92614928ce Make libcontainer's CapabilitiesMask into a []string (Capabilities).
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-17 00:44:10 +00:00
Derek 42734394b0 Remove Trailing Whitespace in User-Agent
After removed, the User-Agent shows in log like this:

[debug] http.go:160 https://index.docker.io/v1/repositories/busybox/images --
HEADERS: map[User-Agent:[docker/0.11.1-dev go/go1.2.2 git-commit/8887e00-dirty kernel/3.14.3-n1 os/linux arch/amd64]]

The code also moved all validation work into validVersion,
to keep the main logic as clean.

Docker-DCO-1.1-Signed-off-by: Derek <crq@kernel.org> (github: crquan)
2014-05-16 17:15:04 -07:00
Victor Vieux 704e9f9ff0 Merge pull request #5761 from SvenDowideit/pr_out_tell_the_user_not_to_run_from_osx
tell the user not to run -d from OSX
2014-05-16 16:52:08 -07:00
unclejack f5b1afae74 add test for issue #5270
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-17 02:38:29 +03:00
unclejack 33d5b38d62 use ValidateContextDirectory to validate context
This commit makes the Docker cli client use ValidateContextDirectory
before attempting to create a tarball out of the context. This ensures
we avoid errors such as "unexpected EOF" during the upload of the
context.

This check is done before uploading any data and can save time and
bandwidth for remote Docker daemons.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-17 02:38:29 +03:00
unclejack 1dedcd0d37 add ValidateContextDirectory to utils/utils.go
This commit adds a function which can be used to ensure all contents of
a directory can be accessed.

This function doesn't follow symlinks to check if they're pointing to
files which exist. Such symlinks can be useful later.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-17 02:38:28 +03:00
unclejack 46578a2359 integcli: resolve full path to docker binary
Setting dockerBinary to the full path of the Docker binary is a good
idea and this is now done in the test code.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-17 02:38:28 +03:00
Guillaume J. Charmes 6f651ec62b Merge pull request #5851 from proppy/archive-simple-detect
archive: simplify DetectCompression
2014-05-16 16:32:55 -07:00
Michael Crosby eb61a1f73a Merge pull request #5822 from creack/update_vendors
Update archive/tar vendored
2014-05-16 16:31:37 -07:00
Johan Euphrosine 4a3aefbb52 archive: add missing bytes package
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-16 16:26:28 -07:00
Johan Euphrosine 67ce59a806 archive: fix panic if len(source) < len(m)
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-16 16:25:56 -07:00
Johan Euphrosine 3118952e0a archive: simplify DetectCompression
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-16 16:25:56 -07:00
Michael Crosby 58b49e60bb Merge pull request #4882 from vieux/fix_merge_issue_tty
Fix merge issue tty
2014-05-16 15:42:43 -07:00
Victor Vieux 2c8b63cb75 do not merge -i or -t options
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-05-16 22:31:16 +00:00
Victor Vieux 366f084eb0 add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-05-16 22:23:32 +00:00
Brandon Philips a42e451e10 chore(graph/graph): remove dead code
This code was introduced with commented out sections. Just delete them.

Original commit: 18fc707fdf

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-16 14:26:14 -07:00
Victor Vieux 00ce30bc74 Merge pull request #5571 from vieux/fix_race_docker_daemon
Fix race docker daemon
2014-05-16 13:57:43 -07:00
Victor Vieux 1adc2fa533 Merge pull request #5853 from proppy/update-tarfilter-comment
archive: update TarFilter comments
2014-05-16 13:06:12 -07:00
Victor Vieux 4b587ac118 Merge pull request #5436 from hobofan/master
reapply Cmd value even if CmdAdd returns early
2014-05-16 12:45:23 -07:00
Johan Euphrosine 311614952e archive: update TarFilter comments
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-16 12:44:42 -07:00
Dan Walsh 2e0d47e5c4 Add description of --volume read-only/read-write to docker-run man page.
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-05-16 15:06:34 -04:00
Michael Crosby 62c3183fc8 Merge pull request #5833 from ActiveState/fix_nsinit_env_panic
fix panic when passing empty environment
2014-05-16 12:03:26 -07:00
Sridhar Ratnakumar d787f2731e fix panic when passing empty environment
Docker-DCO-1.1-Signed-off-by: Sridhar Ratnakumar <github@srid.name> (github: srid)
2014-05-16 11:55:34 -07:00
Victor Marmol 01d10d6f13 Merge pull request #5810 from vmarmol/drop-caps
Change libcontainer to drop all capabilities by default.
2014-05-16 11:51:41 -07:00
Michael Crosby 23062e55fd Merge pull request #5396 from lalyos/5370-infinite-loop-caused-by-symlink
5370 infinite loop caused by symlink
2014-05-16 11:28:37 -07:00
Victor Vieux 808d28033b Merge pull request #5841 from unclejack/run_pull_latest
run: pull only latest when no tag specified
2014-05-16 11:21:29 -07:00
Michael Crosby dbd6f10b3d Merge pull request #5842 from alexlarsson/dm-cleanup-tests
devicemapper: Remove non-general tests
2014-05-16 11:08:04 -07:00
Victor Vieux 2b3b03b596 Merge pull request #5837 from proppy/patch-2
server/buildfile: correct daemon.Create comments
2014-05-16 10:51:09 -07:00
Johan Euphrosine 8b31824ad6 server/buildfile: correct daemon.Create comments
s/and start it//

Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-16 10:50:02 -07:00
Victor Vieux 021ac36a70 Merge pull request #5838 from timthelion/patch-1
Typo in execdrivers.go five => give
2014-05-16 10:49:44 -07:00
Tianon Gravi 6dd4fa0b74 Merge pull request #5840 from unclejack/upstart_mounted
Update contrib/init/upstart to "start on local-filesystems"
2014-05-16 10:16:34 -06:00
unclejack ba0c829291 contrib/init/upstart: start on local-filesystems
This changes the upstart init script to start on `local-filesystems`.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-16 19:12:59 +03:00
Chris St. Pierre 1ee423bd5d added timeout when waiting for docker pidfile
Docker-DCO-1.1-Signed-off-by: Chris St. Pierre <chris.a.st.pierre@gmail.com> (github: stpierre)
2014-05-16 09:36:54 -04:00
Chris St. Pierre a598dba134 Wait for pidfile to exist when starting with Redhat init script
Fixes #5359

Docker-DCO-1.1-Signed-off-by: Chris St. Pierre <chris.a.st.pierre@gmail.com> (github: stpierre)
2014-05-16 09:08:59 -04:00
unclejack b8e338144e run: pull only latest when no tag specified
This makes Docker pull only the image tagged as latest when no tag has
been specified. This makes Docker pull only the image it'll run.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-16 15:23:47 +03:00
Alexander Larsson 39d244a593 devmapper: Remove sys.go mocking framework
This is no longer needed, as the tests are gone.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-16 14:12:56 +02:00
Bernerd Schaefer 6a1d76bc7b nsinit.DefaultCreateCommand sets Pdeathsig to SIGKILL
Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-16 13:48:41 +02:00
Bernerd Schaefer 00e1adfead nsinit.Init() restores parent death signal before exec
Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-16 13:48:41 +02:00
Timothy Hobbs 408f050d64 Typo in execdrivers.go five => give
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: timthelion)
2014-05-16 11:45:20 +00:00
O.S. Tezer c4fc591fbe Merge pull request #5828 from SvenDowideit/pr_out_update_the_cli_md_docs_with_the_output_of_the_docker_command
Update the cli.md docs with the output of the docker command
2014-05-16 12:10:55 +01:00
Alexander Larsson bd6fd25dfb devicemapper: Remove non-general tests
Now that we have the generic graphtest tests that actually tests
the driver we can remove the old mock-using tests. Almost all of
these tests were disabled anyway, and the four remaining ones
didn't really test much while at the same time being really
fragile and making the rest of the code more complex due to
the mocking setup.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-16 12:46:28 +02:00
waitingkuo 1b4915c1a8 Update ubuntulinux.md
In Ubuntu 14.04, we should use

    $ sudo service docker.io restart

instead of

    $ sudo service docker restart
2014-05-16 17:08:05 +08:00
Steven Burgess ddb99054bc Refactor b.tar -> busybox.tar
The file was saved as busybox.tar, but the ls commands named it b.tar.

Docker-DCO-1.1-Signed-off-by: Steven Burgess <steven.a.burgess@hotmail.com> (github: stevenburgess)
2014-05-15 22:33:28 -04:00
Victor Marmol 9d6875d19d Change libcontainer to drop all capabilities by default. Only keeps
those that were specified in the config. This commit also explicitly
adds a set of capabilities that we were silently not dropping and were
assumed by the tests.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-16 00:57:58 +00:00
Michael Crosby 08a7bcf5db Merge pull request #5497 from alexlarsson/generic-driver-tests
graphdriver: Add generic test framework for graph drivers
2014-05-15 17:21:09 -07:00
Guillaume J. Charmes 4353ee78e8 Merge pull request #5454 from kzys/utime-omit
UTIME_OMIT is only available on Linux
2014-05-15 17:18:37 -07:00
Solomon Hykes 87fc7130a4 Merge pull request #5461 from SvenDowideit/getmaintainers.sh 2014-05-15 17:15:40 -07:00
Sven Dowideit 6297f333bd Merge pull request #5802 from shykes/pr_out_add_licensing_information_to_readme
Add Licensing information to README
2014-05-16 10:08:46 +10:00
Sven Dowideit 8da44c9b2a Merge pull request #5732 from SvenDowideit/pr_out_the_last_remaining_raw_github_com_url_s
the last remaining raw.github.com URL's
2014-05-16 10:01:14 +10:00
SvenDowideit d35330bb7a Update the cli.md docs with the output of the docker command
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-16 10:00:20 +10:00
Victor Vieux 81ffd6530a allow 2 docker events to be opened on the same computer over unix socket
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-15 23:27:36 +00:00
Guillaume J. Charmes 924aa984cf Merge pull request #5823 from proppy/archive-bufio
archive: use bufio for compression detection
2014-05-15 16:08:21 -07:00
lalyos ad35d522db Fixes 5370 infinite/maxLoopCount loop for relative symlinks
use path.IsAbs() instead of checking if first char is '/'

Docker-DCO-1.1-Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com> (github: lalyos)
2014-05-16 01:03:11 +02:00
lalyos b51c366bfc Defend against infinite loop when following symlinks
ideally it should never reach it, but there was already multiple issues with infinite loop
at following symlinks. this fixes hanging unit tests

Docker-DCO-1.1-Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com> (github: lalyos)
2014-05-16 00:47:20 +02:00
lalyos 8b77a5b7ae Adding test case for symlink causes infinit loop, reproduces: dotcloud#5370
normally symlinks are created as either
ln -s /path/existing /path/new-name
or
cd /path && ln -s ./existing new-name

but one can create it this way
cd /path && ln -s existing new-name

this drives FollowSymlinkInScope into infinite loop

Docker-DCO-1.1-Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com> (github: lalyos)
2014-05-16 00:47:20 +02:00
Guillaume J. Charmes aedcb76adc Add test for invalid tarball read
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-15 15:45:40 -07:00
Guillaume J. Charmes 094926206b Update archive/tar vendored
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-15 15:40:26 -07:00
James Turnbull e5a5808f51 Merge pull request #5820 from joelhandwell/patch-1
changed deprecated option styles to supported ones
2014-05-16 00:40:16 +02:00
Victor Vieux 041dbcb7be Merge pull request #5826 from tianon/add-cross-to-test
Add "cross" to the "test" Makefile target
2014-05-15 15:35:18 -07:00
Tianon Gravi 8ec01f9dc1 Add "cross" to the "test" Makefile target
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-15 16:21:17 -06:00
Johan Euphrosine 77c2b76e44 archive: use bufio for compression detection
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-15 11:41:07 -07:00
Joel Handwell 10a320818e changed deprecated option styles to supported ones
-name and -rm to --name and --rm
2014-05-15 10:50:59 -04:00
Sven Dowideit 5dfe7c43d4 Merge pull request #5816 from unclejack/docs_run_cache
docs: explain when RUN cache gets invalidated
2014-05-15 19:54:15 +10:00
unclejack 239d1ef301 docs: explain when RUN cache gets invalidated
This adds a few lines to the RUN Dockerfile docs to explain how to
bypass the RUN caching and how ADD can also invalidate the cache for
these instructions.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-15 12:32:01 +03:00
Bernerd Schaefer 002aa8fc20 Add GetParentDeathSignal() to pkg/system
Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-15 10:17:44 +02:00
Sven Dowideit 8887e00630 Merge pull request #5762 from SvenDowideit/pr_out_add_some_more_specific_help_for_dockerfile_build_contexts
Add some more specific help for Dockerfile build contexts.
2014-05-15 11:03:22 +10:00
Solomon Hykes 8d213e91b3 Merge pull request #5706 from vieux/remove_add_string 2014-05-14 17:31:52 -07:00
James Turnbull db4d534b5b Merge pull request #5800 from jamtur01/paras
Updated a bunch of formatting in the docs/sources/use files
2014-05-15 01:58:14 +02:00
SvenDowideit ed703fc8be Add some more specific help for Dockerfile build contexts.
I've copy and pasted the error message so its googlable.

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-15 09:41:05 +10:00
Sven Dowideit d9e3d88082 Merge pull request #5801 from jamtur01/fixups
Minor fixups to the Docs README
2014-05-15 09:38:52 +10:00
James Turnbull 2269472f3a Updated a bunch of formatting in the docs/sources/use files
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-15 01:26:36 +02:00
Michael Crosby 6ff6aad9b8 Merge pull request #5809 from crosbymichael/move-cgroups
Move cgroups package into libcontainer
2014-05-14 16:06:32 -07:00
Michael Crosby b22d10e3c5 Remove the cgroups maintainer file
We don't need this because it is covered by the libcontainer MAINTAINERS
file
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-14 16:01:45 -07:00
Michael Crosby b0578d0ac7 Merge pull request #5772 from unclejack/improve_commit_performance
process directories in parallel in ChangesDirs
2014-05-14 15:49:11 -07:00
Michael Crosby 3b7a19def6 Move cgroups package into libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-14 15:21:44 -07:00
Tianon Gravi 8904dfe082 Merge pull request #5657 from tianon/sysvinit-should-start
Add "Should-Start" cgroupfs-mount and cgroup-lite to sysvinit-debian init script
2014-05-14 16:05:32 -06:00
Michael Crosby 76f09c2ecf Merge pull request #5807 from crosbymichael/dev-symlinks
Setup standard /dev symlinks
2014-05-14 14:17:33 -07:00
Victor Vieux 49deffe6fe Merge pull request #5806 from icecrime/5766-events_endless_newlines
Issue #5766 - Check channel closed state in /events loop
2014-05-14 14:09:26 -07:00
O.S. Tezer 343c24a5fa Merge pull request #5805 from joelhandwell/patch-2
changed deprecated -name option to --name
2014-05-14 22:09:17 +01:00
O.S. Tezer 79be9f8d7f Merge pull request #5804 from joelhandwell/patch-1
changed deprecated -rm option to --rm
2014-05-14 22:08:01 +01:00
unclejack 359f8aca29 process directories in parallel in ChangesDirs
This commit lowers the total time spent in ChangesDirs to half during a
commit.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-15 00:03:33 +03:00
Bernerd Schaefer 2bc34036b9 Setup standard /dev symlinks
After copying allowed device nodes, set up "/dev/fd", "/dev/stdin",
"/dev/stdout", and "/dev/stderr" symlinks.

Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
[rebased by @crosbymichael]
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-14 13:59:13 -07:00
James Turnbull f664e9a7d9 Added to small patch exemption to cover Markdown/syntax errors in documentation
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-14 22:43:54 +02:00
Arnaud Porterie 8699f53e6a Check channel closed state in /events loop
When listener channel is closed, it becomes always available for
reading: select becomes an active loop which writes default-constructed
events (i.e: empty strings).

Fixes #5766.

Docker-DCO-1.1-Signed-off-by: Arnaud Porterie <arnaud.porterie@gmail.com> (github: icecrime)
2014-05-14 22:35:04 +02:00
Guillaume J. Charmes 17a1f470ae Merge pull request #5783 from LK4D4/fix_duplicate_ip_allocation_#5729
Fix duplicate ip allocation
2014-05-14 13:32:27 -07:00
Joel Handwell 2d622df835 changed deprecated -name option to --name
changed deprecated -name option to --name
2014-05-14 16:24:08 -04:00
Joel Handwell 137f4b326a changed deprecated -rm option to --rm
changed deprecated -rm option to --rm
2014-05-14 16:22:38 -04:00
Michael Crosby 4af465fccf Merge pull request #5720 from cyphar/5656-cp-absolute-paths
Ensure `docker cp` cannot traverse outside container rootfs
2014-05-14 11:46:11 -07:00
Victor Vieux d066ceaa4f Merge pull request #5752 from crosbymichael/fix-port-mapping-ps
Fix port mapping in ps display for public and private
2014-05-14 11:36:23 -07:00
Victor Vieux bc22c9948c Merge pull request #5756 from crosbymichael/move-units-to-pkg
Move duration and size to units pkg
2014-05-14 11:36:14 -07:00
Victor Vieux c78b390b6c Merge pull request #5780 from vbatts/vbatts-start_tarsum_test
tarsum: start a test for TarSum
2014-05-14 11:28:26 -07:00
James Turnbull a50a46048b Minor fixups to the Docs README
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-14 20:14:06 +02:00
James Turnbull d9b1c1976f Merge pull request #5787 from SvenDowideit/pr_out_add_a_mention_of_80_column_lines_and_reflow_the_document_to_hide_the_evidence
Add a mention of 80 column lines and reflow the document to hide the evidence.
2014-05-14 20:13:48 +02:00
Michael Crosby de406b69f3 Merge pull request #5798 from unclejack/fix_startup_speed
don't update Suffixarray for every Register during startup
2014-05-14 11:13:02 -07:00
Michael Crosby 432e42e715 Merge pull request #5791 from bernerdschaefer/nsinit-exec-forwards-signals
"nsinit exec ..." forwards signals to container
2014-05-14 11:05:27 -07:00
Victor Vieux 3bf1b562e3 Merge pull request #5781 from creack/remove_bind_console
Remove the bind mount for dev/console which override the mknod/label
2014-05-14 10:57:21 -07:00
unclejack fc82199d4f Merge pull request #5758 from crosbymichael/add-cpuset
Add cpuset cpus support for docker
2014-05-14 20:57:12 +03:00
Victor Vieux b561f0398a Merge pull request #5794 from unclejack/speed_up_ps
don't call sort for every add in daemon/history
2014-05-14 10:48:08 -07:00
Vincent Batts d153740d9c tarsum: adding benchmarks
to cover a couple of use-cases:
* 1mb file, using no compression
* 1mb file, using compression
* 1024 1k files, using no compression
* 1024 1k files, using compression

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-14 11:48:17 -04:00
unclejack 5d5c89398c update Suffixarray only once during daemon startup
This commit makes the Docker daemon call UpdateSuffixarray only after
it finishes registering all containers.

This lowers the amount of time required for the Docker daemon to start
up.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-14 17:58:37 +03:00
unclejack 219b7ae8b5 add UpdateSuffixarray and refactor TruncIndex
This commit refactors TruncIndex to make it possible to add container
ids to the TruncIndex without updating the Suffixarray.

This is useful during the Docker daemon's startup when we don't want to
update the Suffixarray for every container we add.

Add continues to function like before.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-14 17:57:59 +03:00
unclejack e963179c79 don't call sort for every add in history
This moves the call to sort in daemon/history to a function to be
called explicitly when we're done adding elements to the list.

This speeds up `docker ps`.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-14 15:02:02 +03:00
Bernerd Schaefer 830c2d7fa3 "nsinit exec ..." forwards signals to container
Docker-DCO-1.1-Signed-off-by: Bernerd Schaefer <bj.schaefer@gmail.com> (github: bernerdschaefer)
2014-05-14 11:01:02 +02:00
James Turnbull cb0f2a2823 Merge pull request #5785 from SvenDowideit/pr_out_subject_and_object_containers_can_be_confused
Subject and object containers can be confused
2014-05-14 07:56:31 +02:00
Alexandr Morozov 80fca061e7 Change ip allocation logic
Now IP reuses only after all IPs from network was allocated
Fixes #5729

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-14 06:43:10 +04:00
Alexandr Morozov 5128feb690 Refactoring collections/orderedintset and benchmarks for it
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-14 06:04:12 +04:00
Michael Crosby adbe3096e8 Add cpuset cpus support for docker
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-13 18:17:12 -07:00
Michael Crosby 4de6810be9 Merge pull request #5786 from crosbymichael/cpuset-copy
Copy parents cpus and mems for cpuset
2014-05-13 18:16:47 -07:00
cyphar 0fb507dc23 daemon: *: refactored container resource path generation
This patch is a preventative patch, it fixes possible future
vulnerabilities regarding unsantised paths. Due to several recent
vulnerabilities, wherein the docker daemon could be fooled into
accessing data from the host (rather than a container), this patch
was created to try and mitigate future possible vulnerabilities in
the same vein.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-14 11:15:50 +10:00
cyphar 79ca77f3e8 integration-cli: cp: added tests for cp
This patch adds integration tests for the copying of resources
from a container, to ensure that regressions in the security of
resource copying can be easily discovered.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-14 11:14:59 +10:00
cyphar bfc3a4192a daemon: container: ensure cp cannot traverse outside container rootfs
This patch fixes the bug that allowed cp to copy files outside of
the containers rootfs, by passing a relative path (such as
../../../../../../../../etc/shadow). This is fixed by first converting
the path to an absolute path (relative to /) and then appending it
to the container's rootfs before continuing.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-14 11:14:59 +10:00
Michael Crosby 3de15bda7e Copy parents cpus and mems for cpuset
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-13 18:01:31 -07:00
SvenDowideit 195f3a3f42 Add a mention of 80 column lines and reflow the document to hide the
evidence.

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-14 10:22:55 +10:00
SvenDowideit af891a6751 Subject and object containers can be confused
and `create` is now a loaded word for some readers

Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-14 07:43:41 +10:00
Vincent Batts cfd1227e91 tarsum: test gofmt
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-13 15:14:32 -04:00
Vincent Batts efa369a6ee tarsum: adding the layer for "scratch" image
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-13 15:08:48 -04:00
Guillaume J. Charmes ae85dd5458 Remove the bind mount for dev/console which override the mknod/label
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-13 11:59:27 -07:00
Vincent Batts 461f801f83 tarsum: start a test for TarSum
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-13 14:57:31 -04:00
Victor Vieux f637eaca5d Merge pull request #5778 from crosbymichael/check-symlink
Ensure libcontainer follows correct symlink in scope
2014-05-13 11:28:00 -07:00
Michael Crosby ea7647099f Add MAINTAINERS file to symlink pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-13 11:27:24 -07:00
Michael Crosby ca040b1a37 Update code to handle new path to Follow Symlink func
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-13 10:54:08 -07:00
Michael Crosby dcf81f95fd Move Follow symlink to pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-13 10:35:57 -07:00
Alexander Larsson b7c7b851dc libcontainer: Ensure bind mount target files are inside rootfs
Before we create any files to bind-mount on, make sure they are
inside the container rootfs, handling for instance absolute symbolic
links inside the container.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-13 10:24:52 -07:00
Sven Dowideit 1d4caadfe2 Merge pull request #5769 from dankeder/master
Fix a typo in contrib/man/md/docker.1.md
2014-05-13 20:26:02 +10:00
Dan Keder 653328c6ce Fix a typo in contrib/man/md/docker.1.md 2014-05-13 11:17:42 +02:00
Sven Dowideit a70bffd382 Merge pull request #5745 from ojilles/patch-1
Cleaned up Network settings overview
2014-05-13 19:02:18 +10:00
unclejack f1eabe436a Merge pull request #5655 from alexlarsson/mount-run-dir
Always mount a /run tmpfs in the container
2014-05-13 11:51:14 +03:00
Solomon Hykes ee4fa10fb0 Merge pull request #5753 from creack/fix-beam-32bit
[beam] Use direct iota instead of binary shift
2014-05-13 00:21:32 -07:00
James Turnbull 5ac3c6c4ed Merge pull request #5757 from SvenDowideit/pr_out_was_checking_something_for_a_pr_and_noticed_some_quote_issues
Was checking something for a PR and noticed some quote issues
2014-05-13 06:37:12 +02:00
SvenDowideit fe445a2447 tell the user not to run from OSX
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-13 12:51:00 +10:00
Michael Crosby 5b525feaed Merge pull request #5707 from vieux/fix_event_removal
fix event removal
2014-05-12 18:59:42 -07:00
Victor Vieux 937f8f2d81 move acceptconnections as builtin
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-13 01:53:38 +00:00
Victor Vieux f3736265fd make listen buffer optional
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-13 01:51:41 +00:00
Victor Vieux a0f799b6d4 Merge pull request #5759 from vieux/move_register_links_to_daemon
move RegisterLinks to daemon
2014-05-12 18:39:47 -07:00
Victor Vieux 100a92146e move RegisterLinks to daemon
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-13 00:54:46 +00:00
SvenDowideit b9c2d57d89 Was checking something for a PR and noticed some quote issues
Docker-DCO-1.1-Signed-off-by: SvenDowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-13 10:36:19 +10:00
Sven Dowideit 3f6ec6ebba Merge pull request #5747 from ojilles/patch-2
runmetrics update, linking to collectd plugin rather than just hinting
2014-05-13 10:21:34 +10:00
Michael Crosby d33b4655c4 Move duration and size to units pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-12 17:05:07 -07:00
Michael Crosby d54dec4d8b Fix port mapping in ps display for public and private
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-12 15:26:23 -07:00
Guillaume J. Charmes 0d78799db7 Merge pull request #5751 from vieux/move_version
move version out of server
2014-05-12 15:25:40 -07:00
Victor Vieux 7894a70f8b move version out of server
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-12 21:38:20 +00:00
Guillaume J. Charmes bc77ec2b17 Merge pull request #5717 from philips/mkdir-in-daemon
fix(daemon): ensure the /var/lib/docker dir exists
2014-05-12 14:13:56 -07:00
Solomon Hykes 43e926cd9c Merge pull request #5750 from vieux/vieux_server_maintainer
add vieux as server's MAINTAINERS
2014-05-12 13:56:30 -07:00
Victor Vieux 1d15c0b491 add vieux as server's MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-12 20:51:45 +00:00
Michael Crosby aa1fc36a92 Merge pull request #5696 from cyphar/rev-ubuntu-dockerfile
Update Ubuntu release used for builds
2014-05-12 13:21:38 -07:00
Alexander Larsson 905795ece6 Always mount a /run tmpfs in the container
All modern distros set up /run to be a tmpfs, see for instance:
https://wiki.debian.org/ReleaseGoals/RunDirectory

Its a very useful place to store pid-files, sockets and other things
that only live at runtime and that should not be stored in the image.

This is also useful when running systemd inside a container, as it
will try to mount /run if not already mounted, which will fail for
non-privileged container.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-12 21:41:04 +02:00
Michael Crosby 30a40de205 Merge pull request #5748 from crosbymichael/libcontainer-bindmounts
libcontainer: Create dirs/files as needed for bind mounts
2014-05-12 12:27:18 -07:00
Michael Crosby cc678a7078 Remove newline char in error message
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-12 12:24:30 -07:00
Michael Crosby 243eaac8b6 Merge pull request #5724 from tutumcloud/5718-lxcbugfix
Fix bug on LXC container start. Fixes #5718
2014-05-12 12:14:57 -07:00
Michael Crosby 16fe76e770 Merge pull request #5712 from vishh/fix_typo
Correct a libcontainer Mount Namespace setup comment.
2014-05-12 12:07:19 -07:00
Vishnu Kannan fee1bbd79e Correct a comment in libcontainer Mount Namespace setup.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-05-12 19:01:36 +00:00
Jilles Oldenbeuving 79f234e049 runmetrics update, linking to collectd plugin rather than just hinting 2014-05-12 20:51:40 +02:00
Jason Hall 3e636446c3 Update google.md
Fix numbering resets after code sample blocks
2014-05-12 14:48:03 -04:00
Jilles Oldenbeuving feb42d3f97 Cleaned up Network settings overview 2014-05-12 20:35:18 +02:00
unclejack 4c06506994 Merge pull request #5729 from fabiofalci/link_unlink_test
Integration test for link and unlink containers
2014-05-12 21:06:03 +03:00
Victor Vieux 34b7e352eb Merge pull request #5741 from creack/remove_unused_file-2
Remove signal_freebsd (already in pkg/signal)
2014-05-12 10:47:45 -07:00
Thatcher 27a39bfd1a Merge pull request #5621 from ostezer/docs-add-pardot
Add code for Pardot implementation to docs
2014-05-12 09:18:12 -07:00
O.S. Tezer 0f88dbd744 Merge pull request #5731 from SvenDowideit/reduce-cache-max-age
reduce cache time to 1 hours so future docs releases update the cloudfront caches faster
2014-05-12 17:05:55 +01:00
O.S. Tezer 8700d68b19 Merge pull request #5730 from SvenDowideit/fix-hostname-for-redirects
Give the Redirect a HostName - filled in from the s3 bucket name.
2014-05-12 15:03:03 +01:00
Alexander Larsson 70ef53f25e libcontainer: Create dirs/files as needed for bind mounts
If you specify a bind mount in a place that doesn't have a file yet we
create that (and parent directories). This is needed because otherwise
you can't use volumes like e.g. /dev/log, as that gets covered by the
/dev tmpfs mounts.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-12 09:57:15 +02:00
Sven Dowideit c1108f5d60 the last remaining raw.github.com URL's
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-05-12 14:50:41 +10:00
Sven Dowideit 1dec8fd03c reduce cache time to 1 hours so future docs releases update the cloudfront caches faster
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-12 11:31:44 +10:00
Sven Dowideit 0d59cc080a Give the Redirect a HostName - filled in from the s3 bucket name.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-12 10:31:27 +10:00
Fabio Falci 7cc27b2075 Integration test for link and unlink containers
Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-05-11 21:33:01 +01:00
Guillaume J. Charmes 62bfef59f7 Use int64 instead of int
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-11 06:23:53 -07:00
Vincent Mayers a4a023580b Add Licensing information to README
Docker-DCO-1.1-Signed-off-by: Vincent Mayers vince.mayers@gmail.com (github: vincentmayers)
[solomon@docker.com: rephrased commit message and transcribed signoff]
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-11 08:03:31 +00:00
Guillaume J. Charmes 3f8ffb461a Remove signal_freebsd (already in pkg/signal)
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-11 01:03:12 -07:00
Fernando 752c57ae56 Fix bug on LXC container start. Fixes #5718
Docker-DCO-1.1-Signed-off-by: Fernando Mayo <fernando@tutum.co> (github: fermayo)
2014-05-10 18:05:02 -04:00
Solomon Hykes 5877ae2462 Merge pull request #5716 from shykes/pr_out_engine_receiver_and_sender_preserve_job_env 2014-05-09 19:47:32 -07:00
Solomon Hykes 4dc16ab546 Merge pull request #5432 from shykes/image-subsystem-1 2014-05-09 19:19:33 -07:00
Solomon Hykes ff4ef50470 Start separating the image subsystem
This is a first step towards moving all code related to local
manipulation of images into a cleanly separated subsystem,
accessible via a stable set of commands in the engine API.

`graph.TagStore` now implements `engine.Installer`. For now, it
is installed by `Server.InitServer`, along with all other Server
commands. However this will change in future patches.

`graph.TagStore.Install` registers the following commands:

* `image_set` creates a new image and stores it locally.
* `image_get` returns information about an image stored locally.
* `image_tag` assigns a new name and tag to an existing image.

These commands are a pre-requisite for moving 'push' and 'pull'
out of `Server`.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 19:15:26 -07:00
Solomon Hykes d6e666a87a Merge pull request #5635 from vbatts/vbatts-registry_maintainers 2014-05-09 19:07:25 -07:00
cyphar 46a47f0dcb Dockerfile: updated ubuntu release used for builds
This patch just revs the Ubuntu release used for builds from 13.10
to 14.04.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-10 11:38:12 +10:00
Brandon Philips b4ccd7cbfb fix(daemon): ensure the /var/lib/docker dir exists
The btrfs driver attempts to stat the /var/lib/docker directory to
ensure it exists. If it doesn't exist then it bails with an unhelpful
log line:

```
2014/05/10 00:51:30 no such file or directory
```

In 0.10 the directory was created but quickly digging through the logs I
can't tell what sort of re-ordering of code caused this regression.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-05-09 18:09:26 -07:00
Solomon Hykes a1754c7e46 Engine: Receiver and Sender preserve Job.Env
When sending a new job to a `engine.Sender`, the corresponding
`engine.Receiver` will receive that job with its environment preserved.
Previously the job name, arguments and streams were preserved but the
env was lost.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 17:10:33 -07:00
Solomon Hykes c7978c9809 Engine: Env.MultiMap, Env.InitMultiMap: import/export to other formats
* `Env.MultiMap` returns the contents of an Env as `map[string][]string`
* `Env.InitMultiMap` initializes the contents of an Env from a `map[string][]string`

This makes it easier to import and export an Env to other formats
(specifically `beam/data` messages)

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 17:06:32 -07:00
Solomon Hykes 2af030ab57 beam/data: Message.GetOne() returns the last value set at a key
This is a convenience for callers which are only interested in one value
per key. Similar to how HTTP headers allow multiple keys per value, but
are often used to store and retrieve only one value.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 17:01:27 -07:00
Solomon Hykes 9dc66f8822 Merge pull request #5713 from shykes/pr_out_engine_ensure_all_pipes_are_properly_closed_by_receiver_and_sender 2014-05-09 16:16:56 -07:00
Solomon Hykes d61190169d Engine: ensure all pipes are properly closed by Receiver and Sender
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)

[michael@docker.com: fix stdin closing in engine.Job.Run]
[michael@docker.com: fix fd leak in engine.Receiver.Run]
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Docker-Tested-By: Solomon Hykes <solomon@docker.com>
Docker-Tested-by: Michael Crosby <michael@docker.com>
2014-05-09 16:12:21 -07:00
Solomon Hykes a7e61a21c0 Merge pull request #5687 from shykes/pr_out_engine_fix_a_timeout_bug_in_sender_receiver 2014-05-09 15:50:53 -07:00
Solomon Hykes bf25951837 Engine: slightly more stress-testing of Receiver/Sender to reproduce the hang problem
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 15:49:44 -07:00
Solomon Hykes dfdc03b061 Engine: fix a timeout bug in Sender/Receiver
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 15:49:44 -07:00
Solomon Hykes 0aeff69e59 Fix stdin handling in engine.Sender and engine.Receiver
This introduces a superficial change to the Beam API:

* `beam.SendPipe` is renamed to the more accurate `beam.SendRPipe`
* `beam.SendWPipe` is introduced as a mirror to `SendRPipe`

There is no other change in the beam API.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-09 15:39:55 -07:00
Victor Vieux 670564d070 fix event removal
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-09 22:12:54 +00:00
Michael Crosby da0686481c Merge pull request #5709 from vieux/conflict_h_net
returns an error when using -h and --net
2014-05-09 14:53:46 -07:00
Victor Vieux 2899195540 returns an error when using -h and --net
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-09 21:42:22 +00:00
Jérôme Petazzoni 29f1efc940 Merge pull request #5463 from tianon/hack-dind-cgroup
Update hack/dind to mount cgroups on "/cgroup" instead of "/sys/fs/cgroup" for better compatibility
2014-05-09 13:54:52 -07:00
Victor Vieux 0f6fe22833 Merge pull request #5686 from crosbymichael/cast-to-closer
Cast Input and Output to io.Closer
2014-05-09 11:17:53 -07:00
Victor Vieux e304e3a662 remove addString and replace Tail
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-09 18:09:59 +00:00
Aaron Huslage 5dfe0945c3 Fixing pre-commit-msg URL
URL referred to raw.github.com instead of raw.githubusercontent.com. Fixed.

Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-05-09 13:56:20 -04:00
O.S. Tezer d4c774de97 Merge pull request #5697 from mshytikov/fix/doc
Added value format description for VOLUME instruction in builder doc
2014-05-09 17:14:27 +01:00
Max Shytikov b5a37127aa Added value format description for VOLUME instruction
In the documentation was not mentioned explicitly that VOLUME value
shoud be a valid JSON array. Because of this I spent time to discovering
the problem with my image where I put `VOLUME ['/data']` (with single quotes).
The `['/data']` mount point was parsed and mounted whole as a string without
any errors and warnings.

Docker-DCO-1.1-Signed-off-by: Max Shytikov <mshytikov@gmail.com> (github: mshytikov)
2014-05-09 16:37:55 +02:00
Alexander Larsson 55cd7dd7f9 grapdriver: Skip tests on non-supported backends
For now this means the btrfs backend is skipped when run
inside make test. You can however run it manually if you want.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-09 14:48:39 +02:00
Alexander Larsson 4bdb8c03fc graphdriver: Fail initialization if supported but got error
If a graphdriver fails initialization due to ErrNotSupported we ignore
that and keep trying the next. But if some driver has a different
error (for instance if you specified an unknown option for it) we fail
the daemon startup, printing the error, rather than falling back to an
unexected driver (typically vfs) which may not match what you have run
earlier.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-09 14:48:39 +02:00
Alexander Larsson 27744062aa graphdriver: Add generic test framework for graph drivers
This adds daemon/graphdriver/graphtest/graphtest which has a few
generic tests for all graph drivers, and then uses these
from the btrs, devicemapper and vfs backends.

I've not yet added the aufs backend, because i can't test that here
atm. It should work though.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-09 14:48:39 +02:00
Alexander Larsson 84f19a09ac vfs graphdriver: Make root dir mode 755
This matches the other backends.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-09 14:48:38 +02:00
Alexander Larsson 47c79870ea devmapper: Properly restore mocked functions after test
Currently the tests that mocks or denies functions leave this state
around for the next test. This is no good if we want to actually
test the devicemapper code in later tests.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-09 14:48:38 +02:00
James Turnbull 79dc316a86 Merge pull request #5583 from ostezer/docs-ui-add-codeblock-scrolling
Introduce x-axe scrolling to code-blocks.
2014-05-09 10:31:52 +02:00
James Turnbull 12201e2ea3 Merge pull request #5599 from ostezer/docs-rewrite-examples-mongodb
Rewrite and update the MongoDB service article
2014-05-09 10:25:37 +02:00
O.S.Tezer fd56723494 Rewrite and update the MongoDB service article
MongoDB article had some fundemental issues.

 - Outdated Dockerfile
 - Insufficient / unclear instructions
 - Unnecessary comments
 - Failed to explain the role of Docker.io
 - Did not have a complete Dockerfile sample
 - Lacked a "learn more" section / link to Trusted Builds

This update aims to address all these issues with a complete re-write.

It also:

 - Corrects the label under which this article is/was listed on the menu

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)

 - First run at amending after the initial review process.
 - Make the Dockerfile generic.
 - Revision.
 - Fixes
2014-05-09 09:09:52 +01:00
James Turnbull 2463849ecf Merge pull request #5678 from MasonM/patch-2
Fix link to daemon/execdriver/lxc/lxc_template.go
2014-05-09 09:41:47 +02:00
James Turnbull 80b750be5d Merge pull request #5689 from benatkin/doc-osx-setup-section-fix
make higher level heading specify that instructions are for manual installation
2014-05-09 09:35:24 +02:00
Solomon Hykes d2a41b38c5 Merge pull request #5540 from unclejack/imports_cleanup 2014-05-09 00:30:14 -07:00
unclejack 4c2b9d7324 rename goruntime import to runtime
This renames the goruntime import of the runtime package back to
runtime.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-09 10:14:37 +03:00
Solomon Hykes a6b7e94696 Merge pull request #5561 from bmurphy1976/bmurphy1976-table-tests 2014-05-09 00:00:19 -07:00
Solomon Hykes 1736b025ea Merge pull request #5116 from LK4D4/chown_only_on_content_#5110 2014-05-08 23:16:22 -07:00
Benjamin Atkin ca33d2589f make higher level heading specify that instructions are for manual install
Docker-DCO-1.1-Signed-off-by: Benjamin Atkin <ben@benatkin.com> (github: benatkin)
2014-05-08 22:57:04 -07:00
Michael Crosby 170e4d2e19 Cast Input and Output to closer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-08 12:57:19 -07:00
O.S. Tezer f5309a2a09 Merge pull request #5679 from tdaws/master
Fixed typo in docs - intro - working with docker - working with images. ...
2014-05-08 20:15:54 +01:00
Victor Vieux 8d3c5b7dca Merge pull request #5680 from alexlarsson/dm-remove-spew
devmapper: Remove accidental debug spew
2014-05-08 10:32:11 -07:00
Alexander Larsson bff0c4f3dc devmapper: Remove accidental debug spew
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-08 19:25:47 +02:00
Michael Crosby 7673e3c589 Merge pull request #5673 from tianon/kcore-error
Update restrict.Restrict to both show the error message when failing to mount /dev/null over /proc/kcore, and to ignore "not exists" errors while doing so (for when CONFIG_PROC_KCORE=n in the kernel)
2014-05-08 10:20:19 -07:00
Tony Daws ea049a2ebc Fixed typo in docs - intro - working with docker - working with images. It read that you can use both images used by others and images used by others, in a run-on sentence. 2014-05-08 10:05:00 -07:00
Mason Malone 5d39175c22 Fix link to daemon/execdriver/lxc/lxc_template.go 2014-05-08 12:49:50 -04:00
Michael Crosby 718154b3b6 Merge pull request #5535 from vmarmol/add-maintainers-cgroup
Adding Rohit Jnagal and Victor Marmol to pkg/cgroups maintainers.
2014-05-08 09:48:31 -07:00
Alexander Larsson 3a1703a79f Merge pull request #5404 from alexlarsson/dm-new-metadata
Make devicemapper backend able to support multiple processes
2014-05-08 14:31:17 +02:00
O.S. Tezer e4f4ce83d2 Merge pull request #5659 from ryanaslett/master
Trivial Documentation Change: The Go template is a better pattern for documentation.
2014-05-08 10:59:35 +01:00
Tianon Gravi d60301edb8 Update restrict.Restrict to both show the error message when failing to mount /dev/null over /proc/kcore, and to ignore "not exists" errors while doing so (for when CONFIG_PROC_KCORE=n in the kernel)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-08 01:03:45 -06:00
Bryan Murphy fdccfaf72a move Table to a separate file and add additional unit tests
Docker-DCO-1.1-Signed-off-by: Bryan Murphy <bmurphy1976@gmail.com> (github: bmurphy1976)
2014-05-08 02:31:23 +00:00
Victor Vieux 81041b3ba6 Merge pull request #5671 from crosbymichael/merge_release_v0.11.1
Merge release v0.11.1
2014-05-07 18:51:29 -07:00
Michael Crosby 0ed9bba1ee Change version to v0.11.1-dev
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 18:48:38 -07:00
Michael Crosby 093aacb740 Merge branch 'release' into merge_release_v0.11.1
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 18:47:47 -07:00
Michael Crosby 5f3d6b8e7f Merge pull request #5668 from crosbymichael/bump_v0.11.1
Bump to version v0.11.1
2014-05-07 18:47:46 -07:00
Michael Crosby fb99f992c0 Bump to version v0.11.1
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 17:29:56 -07:00
Michael Crosby 6640f46f0e Merge branch 'master' into bump_v0.11.1
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 17:27:57 -07:00
Guillaume J. Charmes ed00ba84ac Merge pull request #5667 from bitness/typo-fix
Fix error name typo (ErrInvalidWorikingDirectory)
2014-05-07 16:53:08 -07:00
Guillaume J. Charmes c7712b350a Merge pull request #5665 from vieux/fix_auth_issue
Fix auth issue
2014-05-07 16:36:07 -07:00
Lars R. Damerow d3150e0927 Fix error name typo (ErrInvalidWorikingDirectory)
Docker-DCO-1.1-Signed-off-by: Lars R. Damerow <lars@grandstreet.us> (github: bitness)
2014-05-07 16:28:51 -07:00
Victor Vieux 2aff119baa Revert "refactor build job to know only configFile"
This reverts commit b9731bccf2.

Conflicts:
	server/server.go

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-07 22:59:13 +00:00
Victor Vieux 331e77f9ed Revert "rename configFile to auth in the job"
This reverts commit e9c3e39743.

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-07 22:58:09 +00:00
William Henry 7cd64f0344 Merge remote-tracking branch 'upstream/master' 2014-05-07 14:48:28 -06:00
Michael Crosby 93f5d539fe Merge pull request #5660 from crosbymichael/merge_release_v0.11.0
Merge release to master v0.11.0
2014-05-07 11:42:49 -07:00
Michael Crosby 1ed63f1d16 Change version to v0.11.0-dev
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 11:38:02 -07:00
Michael Crosby b68e0078c2 Merge branch 'release' into merge_release_v0.11.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 11:37:32 -07:00
Michael Crosby 57aa2f2ef4 Merge pull request #5640 from crosbymichael/bump_v0.11.0
Bump version to v0.11.0
2014-05-07 11:35:20 -07:00
LK4D4 91b7d8ebd3 Change owner only on copied content
Fixes #5110
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-07 20:40:22 +04:00
Tianon Gravi 36d913078b Add "Should-Start" cgroupfs-mount and cgroup-lite to sysvinit-debian init script
It's fine to list both here because "Should-Start" is a loose binding (ie, if the listed service exists, it'll be started first, but otherwise, this one will start without it).

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-07 09:46:41 -06:00
Tianon Gravi ddd0470ed1 Merge pull request #5642 from jmccrohan/master
Update mkimage-debootstrap "ubuntuLatestLTS" to "trusty"
2014-05-07 09:45:22 -06:00
Jonathan McCrohan 9e64a4d862 mkimage-debootstrap: set ubuntuLatestLTS as Trusty
Ubuntu 14.04 LTS (Trusty Tahr) was released on Thu, 17 Apr 2014; Update
ubuntuLatestLTS accordingly.

Docker-DCO-1.1-Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com> (github: jmccrohan)
2014-05-07 08:26:24 +01:00
Ryan Aslett 7549199cc5 The Go template is a better pattern for documentation. 2014-05-07 00:21:02 -07:00
Sven Dowideit bd9b27fe18 Merge pull request #5634 from vieux/improve_mflag_usage
Add support for \n in usages
2014-05-07 13:53:04 +10:00
Victor Vieux 275faf06e8 Merge pull request #4 from SvenDowideit/improve_mflag_usage_docs
update the docs for the new \n rendering
2014-05-06 19:54:47 -07:00
Sven Dowideit cfb232cff2 update the docs to reflect the nice \n handling
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-07 09:40:49 +10:00
Victor Vieux b622da3cfe improve some usages
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-06 21:32:12 +00:00
Victor Vieux 77098d5b5b use tabwriter to display usage in mflag
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-06 21:31:21 +00:00
Vincent Batts 6f32727844 registry: adding vbatts to the MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-05-06 14:31:47 -04:00
O.S.Tezer 02f95a089c Add code for Pardot implementation to docs
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-05-06 09:53:19 +01:00
O.S.Tezer dcae8c157b Introduce x-axe scrolling to code-blocks.
This improvement introduces x-axe scrolling to code-blocks by
overriding certain default bootstrap word-wrapping constraints.

This PR closes: https://github.com/dotcloud/docker/issues/5279

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-05-04 13:25:03 +01:00
Victor Marmol 91b5fe8502 Adding Rohit Jnagal and Victor Marmol to pkg/cgroups maintainers.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-01 15:48:16 -07:00
Sven Dowideit b06ad88ca0 Don't add yourself to the AUTHORs file - its generated
Last time I discussed this with @tianon, the AUTHORS was being
regenerated regularly, so we could remove this step.

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-01 11:15:07 +10:00
Sven Dowideit 48dbee0824 modernise the MAINTAINER process documentation to line up with what I understand it to be
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-29 15:28:04 +10:00
Tianon Gravi 659305085f Update hack/dind to mount cgroups on "/cgroup" instead of "/sys/fs/cgroup" for better compatibility
Fixes #5122

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 23:17:36 -06:00
Kato Kazuyoshi 21b42dfcfd UTIME_OMIT is only available on Linux
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-29 09:08:33 +09:00
Hobofan 6893689336 reapply Cmd value even if CmdAdd returns early
Docker-DCO-1.1-Signed-off-by: Maximilian Goisser <goisser94@gmail.com> (github: hobofan)
2014-04-29 00:27:32 +02:00
Alexander Larsson 6d631968fa devmapper: Store metadata in one file per device
This allows multiple instances of the backend in different containers
to access devices (although generally only one can modify/create them).

Any old metadata is converted on the first run.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-25 15:21:56 +02:00
Alexander Larsson f26203cf54 devmapper: Simplify thin pool device id allocation
Instead of globally keeping track of the free device ids we just
start from 0 each run and handle EEXIST error and try the next one.

This way we don't need any global state for the device ids, which
means we can read device metadata lazily. This is important for
multi-process use of the backend.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-25 14:26:27 +02:00
Alexander Larsson 586a511cb5 devmapper: Move error detection to devmapper.go
This moves the EBUSY detection to devmapper.go, and then returns
a real ErrBusy that deviceset uses.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-25 14:26:27 +02:00
Alexander Larsson 8116b86e05 devmapper: Maks createSnapDevice a function, not a method
No idea why this was a method. Maybe a cut and paste bug.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-25 14:26:27 +02:00
William Henry 70654160e6 Merge branch 'master' of https://github.com/dotcloud/docker 2014-04-22 22:14:04 -06:00
Kato Kazuyoshi 3754fdd7ca Support FreeBSD on pkg/mount
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-15 23:16:51 +09:00
Kato Kazuyoshi ca7a0e6d6e FreeBSD's nullfs doesn't support file mount
FreeBSD doesn't have "bind" mount, but nullfs might be a similar feature.
However nullfs can mount only directories.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-15 05:40:23 +09:00
Kato Kazuyoshi a7e181c857 Add a test for mount.GetMounts
Because mount.parseInfoFile is only available on Linux

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-15 05:40:23 +09:00
1046 changed files with 74382 additions and 34117 deletions
+2
View File
@@ -0,0 +1,2 @@
bundles
.gopath
+1
View File
@@ -26,3 +26,4 @@ Vagrantfile
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
docs/VERSION
docs/GITCOMMIT
+51 -12
View File
@@ -1,4 +1,9 @@
# Generate AUTHORS: git log --format='%aN <%aE>' | sort -uf
# Generate AUTHORS: hack/generate-authors.sh
# 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
<charles.hooper@dotcloud.com> <chooper@plumata.com>
<daniel.mizyrycki@dotcloud.com> <daniel@dotcloud.com>
<daniel.mizyrycki@dotcloud.com> <mzdaniel@glidelink.net>
@@ -6,14 +11,16 @@ Guillaume J. Charmes <guillaume.charmes@docker.com> <charmes.guillaume@gmail.com
<guillaume.charmes@docker.com> <guillaume@dotcloud.com>
<guillaume.charmes@docker.com> <guillaume@docker.com>
<guillaume.charmes@docker.com> <guillaume.charmes@dotcloud.com>
<guillaume.charmes@docker.com> <guillaume@charmes.net>
<kencochrane@gmail.com> <KenCochrane@gmail.com>
<sridharr@activestate.com> <github@srid.name>
Thatcher Peskens <thatcher@dotcloud.com> dhrp <thatcher@dotcloud.com>
Thatcher Peskens <thatcher@dotcloud.com> dhrp <thatcher@gmx.net>
Thatcher Peskens <thatcher@docker.com>
Thatcher Peskens <thatcher@docker.com> <thatcher@dotcloud.com>
Thatcher Peskens <thatcher@docker.com> dhrp <thatcher@gmx.net>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com> jpetazzo <jerome.petazzoni@dotcloud.com>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com> <jp@enix.org>
Joffrey F <joffrey@dotcloud.com>
<joffrey@dotcloud.com> <f.joffrey@gmail.com>
Joffrey F <joffrey@docker.com>
Joffrey F <joffrey@docker.com> <joffrey@dotcloud.com>
Joffrey F <joffrey@docker.com> <f.joffrey@gmail.com>
Tim Terhorst <mynamewastaken+git@gmail.com>
Andy Smith <github@anarkystic.com>
<kalessin@kalessin.fr> <louis@dotcloud.com>
@@ -23,7 +30,6 @@ Andy Smith <github@anarkystic.com>
<victor.vieux@docker.com> <victor@docker.com>
<victor.vieux@docker.com> <vieux@docker.com>
<dominik@honnef.co> <dominikh@fork-bomb.org>
Thatcher Peskens <thatcher@dotcloud.com>
<ehanchrow@ine.com> <eric.hanchrow@gmail.com>
Walter Stanish <walter@pratyeka.org>
<daniel@gasienica.ch> <dgasienica@zynga.com>
@@ -46,15 +52,48 @@ Shih-Yuan Lee <fourdollars@gmail.com>
Daniel Mizyrycki <daniel.mizyrycki@dotcloud.com> root <root@vagrant-ubuntu-12.10.vagrantup.com>
Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
<proppy@google.com> <proppy@aminche.com>
<michael@crosbymichael.com> <crosby.michael@gmail.com>
<github@metaliveblog.com> <github@developersupport.net>
<michael@docker.com> <michael@crosbymichael.com>
<michael@docker.com> <crosby.michael@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>
<gurjeet@singh.im> <singh.gurjeet@gmail.com>
<shawn@churchofgit.com> <shawnlandden@gmail.com>
<sjoerd-github@linuxonly.nl> <sjoerd@byte.nl>
<solomon@dotcloud.com> <solomon.hykes@dotcloud.com>
<SvenDowideit@home.org.au> <SvenDowideit@fosiki.com>
Sven Dowideit <SvenDowideit@home.org.au> ¨Sven <¨SvenDowideit@home.org.au¨>
<solomon@docker.com> <solomon.hykes@dotcloud.com>
<solomon@docker.com> <solomon@dotcloud.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>
<alexl@redhat.com> <alexander.larsson@gmail.com>
Alexandr Morozov <lk4d4math@gmail.com>
<git.nivoc@neverbox.com> <kuehnle@online.de>
O.S. Tezer <ostezer@gmail.com>
<ostezer@gmail.com> <ostezer@users.noreply.github.com>
Roberto G. Hashioka <roberto.hashioka@docker.com> <roberto_hashioka@hotmail.com>
<justin.p.simonelis@gmail.com> <justin.simonelis@PTS-JSIMON2.toronto.exclamation.com>
<taim@bosboot.org> <maztaim@users.noreply.github.com>
<viktor.vojnovski@amadeus.com> <vojnovski@gmail.com>
<vbatts@redhat.com> <vbatts@hashbangbash.com>
<altsysrq@gmail.com> <iamironbob@gmail.com>
Sridhar Ratnakumar <sridharr@activestate.com>
Sridhar Ratnakumar <sridharr@activestate.com> <github@srid.name>
Liang-Chi Hsieh <viirya@gmail.com>
Aleksa Sarai <cyphar@cyphar.com>
Will Weaver <monkey@buildingbananas.com>
Timothy Hobbs <timothyhobbs@seznam.cz>
Nathan LeClaire <nathan.leclaire@docker.com> <nathan.leclaire@gmail.com>
Nathan LeClaire <nathan.leclaire@docker.com> <nathanleclaire@gmail.com>
<github@hollensbe.org> <erik+github@hollensbe.org>
<github@albersweb.de> <albers@users.noreply.github.com>
<lsm5@fedoraproject.org> <lsm5@redhat.com>
<marc@marc-abramowitz.com> <msabramo@gmail.com>
Matthew Heon <mheon@redhat.com> <mheon@mheonlaptop.redhat.com>
<bernat@luffy.cx> <vincent@bernat.im>
<p@pwaller.net> <peter@scraperwiki.com>
<andrew.weiss@outlook.com> <andrew.weiss@microsoft.com>
Francisco Carriedo <fcarriedo@gmail.com>
<julienbordellier@gmail.com> <git@julienbordellier.com>
+14 -2
View File
@@ -3,10 +3,20 @@
language: go
go: 1.2
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: true
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
before_script:
- env | sort
@@ -14,5 +24,7 @@ before_script:
script:
- hack/make.sh validate-dco
- hack/make.sh validate-gofmt
- ./hack/make.sh dynbinary
- DOCKER_CLIENTONLY=1 ./hack/make.sh dynbinary
# vim:set sw=2 ts=2:
+282 -32
View File
@@ -1,68 +1,126 @@
# This file lists all individuals having contributed content to the repository.
# If you're submitting a patch, please add your name here in alphabetical order as part of the patch.
#
# For a list of active project maintainers, see the MAINTAINERS file.
#
# For how it is generated, see `hack/generate-authors.sh`.
Aanand Prasad <aanand.prasad@gmail.com>
Aaron Feng <aaron.feng@gmail.com>
Aaron Huslage <huslage@gmail.com>
Abel Muiño <amuino@gmail.com>
Alexander Larsson <alexl@redhat.com>
Alexey Shamrin <shamrin@gmail.com>
Alex Gaynor <alex.gaynor@gmail.com>
Alexis THOMAS <fr.alexisthomas@gmail.com>
Adam Miller <admiller@redhat.com>
Adam Singer <financeCoding@gmail.com>
Aditya <aditya@netroy.in>
Adrian Mouat <adrian.mouat@gmail.com>
Adrien Folie <folie.adrien@gmail.com>
AJ Bowen <aj@gandi.net>
Al Tobey <al@ooyala.com>
alambike <alambike@gmail.com>
Albert Zhang <zhgwenming@gmail.com>
Aleksa Sarai <cyphar@cyphar.com>
Alex Gaynor <alex.gaynor@gmail.com>
Alex Warhawk <ax.warhawk@gmail.com>
Alexander Larsson <alexl@redhat.com>
Alexander Shopov <ash@kambanaria.org>
Alexandr Morozov <lk4d4math@gmail.com>
Alexey Kotlyarov <alexey@infoxchange.net.au>
Alexey Shamrin <shamrin@gmail.com>
Alexis THOMAS <fr.alexisthomas@gmail.com>
almoehi <almoehi@users.noreply.github.com>
amangoel <amangoel@gmail.com>
AnandkumarPatel <anandkumarpatel@gmail.com>
Andre Dublin <81dublin@gmail.com>
Andrea Luzzardi <aluzzardi@gmail.com>
Andrea Turli <andrea.turli@gmail.com>
Andreas Savvides <andreas@editd.com>
Andreas Tiefenthaler <at@an-ti.eu>
Andrew Duckworth <grillopress@gmail.com>
Andrew France <andrew@avito.co.uk>
Andrew Macgregor <andrew.macgregor@agworld.com.au>
Andrew Munsell <andrew@wizardapps.net>
Andrew Weiss <andrew.weiss@outlook.com>
Andrew Williams <williams.andrew@gmail.com>
Andrews Medina <andrewsmedina@gmail.com>
Andy Chambers <anchambers@paypal.com>
andy diller <dillera@gmail.com>
Andy Goldstein <agoldste@redhat.com>
Andy Rothfusz <github@metaliveblog.com>
Andy Kipp <andy@rstudio.com>
Andy Rothfusz <github@developersupport.net>
Andy Smith <github@anarkystic.com>
Anthony Bishopric <git@anthonybishopric.com>
Anton Löfgren <anton.lofgren@gmail.com>
Anton Nikitin <anton.k.nikitin@gmail.com>
Antony Messerli <amesserl@rackspace.com>
apocas <petermdias@gmail.com>
Arnaud Porterie <icecrime@gmail.com>
Asbjørn Enge <asbjorn@hanafjedle.net>
Barnaby Gray <barnaby@pickle.me.uk>
Barry Allard <barry.allard@gmail.com>
Bartłomiej Piotrowski <b@bpiotrowski.pl>
Benoit Chesneau <bchesneau@gmail.com>
bdevloed <boris.de.vloed@gmail.com>
Ben Firshman <ben@firshman.co.uk>
Ben Sargent <ben@brokendigits.com>
Ben Toews <mastahyeti@gmail.com>
Ben Wiklund <ben@daisyowl.com>
Benjamin Atkin <ben@benatkin.com>
Benoit Chesneau <bchesneau@gmail.com>
Bernerd Schaefer <bj.schaefer@gmail.com>
Bhiraj Butala <abhiraj.butala@gmail.com>
bin liu <liubin0329@users.noreply.github.com>
Bouke Haarsma <bouke@webatoom.nl>
Boyd Hemphill <boyd@feedmagnet.com>
Brandon Liu <bdon@bdon.org>
Brandon Philips <brandon@ifup.org>
Brandon Rhodes <brandon@rhodesmill.org>
Brett Kochendorfer <brett.kochendorfer@gmail.com>
Brian (bex) Exelbierd <bexelbie@redhat.com>
Brian Dorsey <brian@dorseys.org>
Brian Flad <bflad417@gmail.com>
Brian Goff <cpuguy83@gmail.com>
Brian McCallister <brianm@skife.org>
Brian Olsen <brian@maven-group.org>
Brian Shumate <brian@couchbase.com>
Brice Jaglin <bjaglin@teads.tv>
Briehan Lombaard <briehan.lombaard@gmail.com>
Bruno Bigras <bigras.bruno@gmail.com>
Bruno Renié <brutasse@gmail.com>
Bryan Bess <squarejaw@bsbess.com>
Bryan Matsuo <bryan.matsuo@gmail.com>
Bryan Murphy <bmurphy1976@gmail.com>
Caleb Spare <cespare@gmail.com>
Calen Pennington <cale@edx.org>
Cameron Boehmer <cameron.boehmer@gmail.com>
Carl X. Su <bcbcarl@gmail.com>
Charles Hooper <charles.hooper@dotcloud.com>
Charles Lindsay <chaz@chazomatic.us>
Charles Merriam <charles.merriam@gmail.com>
Charlie Lewis <charliel@lab41.org>
Chewey <prosto-chewey@users.noreply.github.com>
Chia-liang Kao <clkao@clkao.org>
Chris Alfonso <calfonso@redhat.com>
Chris Snow <chsnow123@gmail.com>
Chris St. Pierre <chris.a.st.pierre@gmail.com>
chrismckinnel <chris.mckinnel@tangentlabs.co.uk>
Christian Berendt <berendt@b1-systems.de>
ChristoperBiscardi <biscarch@sketcht.com>
Christophe Troestler <christophe.Troestler@umons.ac.be>
Christopher Currie <codemonkey+github@gmail.com>
Christopher Rigor <crigor@gmail.com>
Christophe Troestler <christophe.Troestler@umons.ac.be>
Ciro S. Costa <ciro.costa@usp.br>
Clayton Coleman <ccoleman@redhat.com>
Colin Dunklau <colin.dunklau@gmail.com>
Colin Rice <colin@daedrum.net>
Colin Walters <walters@verbum.org>
Cory Forsyth <cory.forsyth@gmail.com>
cpuguy83 <cpuguy83@gmail.com>
cressie176 <github@stephen-cresswell.net>
Cruceru Calin-Cristian <crucerucalincristian@gmail.com>
Daan van Berkel <daan.v.berkel.1980@gmail.com>
Dafydd Crosby <dtcrsby@gmail.com>
Dan Buch <d.buch@modcloth.com>
Dan Hirsch <thequux@upstandinghackers.com>
Dan Keder <dan.keder@gmail.com>
Dan McPherson <dmcphers@redhat.com>
Dan Stine <sw@stinemail.com>
Dan Walsh <dwalsh@redhat.com>
Dan Williams <me@deedubs.com>
Daniel Exner <dex@dragonslave.de>
Daniel Garcia <daniel@danielgarcia.info>
Daniel Gasienica <daniel@gasienica.ch>
@@ -72,33 +130,53 @@ Daniel Nordberg <dnordberg@gmail.com>
Daniel Robinson <gottagetmac@gmail.com>
Daniel Von Fange <daniel@leancoder.com>
Daniel YC Lin <dlin.tw@gmail.com>
Daniel, Dao Quang Minh <dqminh89@gmail.com>
Danny Berger <dpb587@gmail.com>
Danny Yates <danny@codeaholics.org>
Darren Coxall <darren@darrencoxall.com>
Darren Shepherd <darren.s.shepherd@gmail.com>
David Anderson <dave@natulte.net>
David Calavera <david.calavera@gmail.com>
David Corking <dmc-source@dcorking.com>
David Gageot <david@gageot.net>
David Mcanulty <github@hellspark.com>
David Röthlisberger <david@rothlis.net>
David Sissitka <me@dsissitka.com>
Deni Bertovic <deni@kset.org>
Derek <crq@kernel.org>
Deric Crago <deric.crago@gmail.com>
Dinesh Subhraveti <dineshs@altiscale.com>
Djibril Koné <kone.djibril@gmail.com>
dkumor <daniel@dkumor.com>
Dmitry Demeshchuk <demeshchuk@gmail.com>
Dolph Mathews <dolph.mathews@gmail.com>
Dominik Honnef <dominik@honnef.co>
Don Spaulding <donspauldingii@gmail.com>
Dražen Lučanin <kermit666@gmail.com>
Doug Davis <dug@us.ibm.com>
doug tangren <d.tangren@gmail.com>
Dr Nic Williams <drnicwilliams@gmail.com>
Dražen Lučanin <kermit666@gmail.com>
Dustin Sallings <dustin@spy.net>
Edmund Wagner <edmund-wagner@web.de>
Eiichi Tsukata <devel@etsukata.com>
Eivind Uggedal <eivind@uggedal.com>
Elias Probst <mail@eliasprobst.eu>
Emil Hernvall <emil@quench.at>
Emily Rose <emily@contactvibe.com>
Eric Hanchrow <ehanchrow@ine.com>
Eric Lee <thenorthsecedes@gmail.com>
Eric Myhre <hash@exultant.us>
Eric Windisch <eric@windisch.us>
Eric Windisch <ewindisch@docker.com>
Erik Hollensbe <github@hollensbe.org>
Erik Inge Bolsø <knan@redpill-linpro.com>
Erno Hopearuoho <erno.hopearuoho@gmail.com>
eugenkrizo <eugen.krizo@gmail.com>
Evan Hazlett <ejhazlett@gmail.com>
Evan Krall <krall@yelp.com>
Evan Phoenix <evan@fallingsnow.net>
Evan Wies <evan@neomantra.net>
evanderkoogh <info@erronis.nl>
Eystein Måløy Stenberg <eystein.maloy.stenberg@cfengine.com>
ezbercih <cem.ezberci@gmail.com>
Fabio Falci <fabiofalci@gmail.com>
@@ -106,127 +184,222 @@ Fabio Rehm <fgrehm@gmail.com>
Fabrizio Regini <freegenie@gmail.com>
Faiz Khan <faizkhan00@gmail.com>
Fareed Dudhia <fareeddudhia@googlemail.com>
Felix Rabe <felix@rabe.io>
Fernando <fermayo@gmail.com>
Flavio Castelli <fcastelli@suse.com>
FLGMwt <ryan.stelly@live.com>
Francisco Carriedo <fcarriedo@gmail.com>
Francisco Souza <f@souza.cc>
Frank Macreery <frank@macreery.com>
Fred Lifton <fred.lifton@docker.com>
Frederick F. Kautz IV <fkautz@alumni.cmu.edu>
Frederik Loeffert <frederik@zitrusmedia.de>
Freek Kalter <freek@kalteronline.org>
Gabe Rosenhouse <gabe@missionst.com>
Gabor Nagy <mail@aigeruth.hu>
Gabriel Monroy <gabriel@opdemand.com>
Galen Sampson <galen.sampson@gmail.com>
Gareth Rushgrove <gareth@morethanseven.net>
Geoffrey Bachelet <grosfrais@gmail.com>
Gereon Frey <gereon.frey@dynport.de>
German DZ <germ@ndz.com.ar>
Gert van Valkenhoef <g.h.m.van.valkenhoef@rug.nl>
Giuseppe Mazzotta <gdm85@users.noreply.github.com>
Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Glyn Normington <gnormington@gopivotal.com>
Goffert van Gool <goffert@phusion.nl>
Graydon Hoare <graydon@pobox.com>
Greg Thornton <xdissent@me.com>
grunny <mwgrunny@gmail.com>
Guilherme Salgado <gsalgado@gmail.com>
Guillaume J. Charmes <guillaume.charmes@docker.com>
Gurjeet Singh <gurjeet@singh.im>
Guruprasad <lgp171188@gmail.com>
Harald Albers <github@albersweb.de>
Harley Laue <losinggeneration@gmail.com>
Hector Castro <hectcastro@gmail.com>
Henning Sprang <henning.sprang@gmail.com>
Hobofan <goisser94@gmail.com>
Hollie Teal <hollie.teal@docker.com>
Hollie Teal <hollietealok@users.noreply.github.com>
hollietealok <hollie@docker.com>
Hunter Blanks <hunter@twilio.com>
hyeongkyu.lee <hyeongkyu.lee@navercorp.com>
Ian Babrou <ibobrik@gmail.com>
Ian Bull <irbull@gmail.com>
Ian Main <imain@redhat.com>
Ian Truslove <ian.truslove@gmail.com>
ILYA Khlopotov <ilya.khlopotov@gmail.com>
inglesp <peter.inglesby@gmail.com>
Isaac Dupree <antispam@idupree.com>
Isabel Jimenez <contact.isabeljimenez@gmail.com>
Isao Jonas <isao.jonas@gmail.com>
Ivan Fraixedes <ifcdev@gmail.com>
Jack Danger Canty <jackdanger@squareup.com>
Jake Moshenko <jake@devtable.com>
jakedt <jake@devtable.com>
James Allen <jamesallen0108@gmail.com>
James Carr <james.r.carr@gmail.com>
James DeFelice <james.defelice@ishisystems.com>
James Harrison Fisher <jameshfisher@gmail.com>
James Kyle <james@jameskyle.org>
James Mills <prologic@shortcircuit.net.au>
James Turnbull <james@lovedthanlost.net>
Jan Pazdziora <jpazdziora@redhat.com>
Jan Toebes <jan@toebes.info>
Jaroslaw Zabiello <hipertracker@gmail.com>
jaseg <jaseg@jaseg.net>
Jason Giedymin <jasong@apache.org>
Jason Hall <imjasonh@gmail.com>
Jason Livesay <ithkuil@gmail.com>
Jason McVetta <jason.mcvetta@gmail.com>
Jason Plum <jplum@devonit.com>
Jean-Baptiste Barth <jeanbaptiste.barth@gmail.com>
Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
Jeff Lindsay <progrium@gmail.com>
Jeff Welch <whatthejeff@gmail.com>
Jeffrey Bolle <jeffreybolle@gmail.com>
Jeremy Grosser <jeremy@synack.me>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com>
Jesse Dubay <jesse@thefortytwo.net>
Jezeniel Zapanta <jpzapanta22@gmail.com>
Jilles Oldenbeuving <ojilles@gmail.com>
Jim Alateras <jima@comware.com.au>
Jim Perrin <jperrin@centos.org>
Jimmy Cuadra <jimmy@jimmycuadra.com>
Jiří Župka <jzupka@redhat.com>
Joe Beda <joe.github@bedafamily.com>
Joe Shaw <joe@joeshaw.org>
Joe Van Dyk <joe@tanga.com>
Joffrey F <joffrey@dotcloud.com>
Joel Handwell <joelhandwell@gmail.com>
Joffrey F <joffrey@docker.com>
Johan Euphrosine <proppy@google.com>
Johannes 'fish' Ziemke <github@freigeist.org>
Johan Rydberg <johan.rydberg@gmail.com>
Johannes 'fish' Ziemke <github@freigeist.org>
John Costa <john.costa@gmail.com>
John Feminella <jxf@jxf.me>
John Gardiner Myers <jgmyers@proofpoint.com>
John OBrien III <jobrieniii@yahoo.com>
John Warwick <jwarwick@gmail.com>
Jonas Pfenniger <jonas@pfenniger.name>
Jonathan Mueller <j.mueller@apoveda.ch>
Jonathan Rudenberg <jonathan@titanous.com>
Jon Wedaman <jweede@gmail.com>
Jonas Pfenniger <jonas@pfenniger.name>
Jonathan Boulle <jonathanboulle@gmail.com>
Jonathan Camp <jonathan@irondojo.com>
Jonathan McCrohan <jmccrohan@gmail.com>
Jonathan Mueller <j.mueller@apoveda.ch>
Jonathan Pares <jonathanpa@users.noreply.github.com>
Jonathan Rudenberg <jonathan@titanous.com>
Joost Cassee <joost@cassee.net>
Jordan Arentsen <blissdev@gmail.com>
Jordan Sissel <jls@semicomplete.com>
Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
Joseph Hager <ajhager@gmail.com>
Josh <jokajak@gmail.com>
Josh Hawn <josh.hawn@docker.com>
Josh Poimboeuf <jpoimboe@redhat.com>
JP <jpellerin@leapfrogonline.com>
Julien Barbier <write0@gmail.com>
Julien Bordellier <julienbordellier@gmail.com>
Julien Dubois <julien.dubois@gmail.com>
Justin Force <justin.force@gmail.com>
Justin Plock <jplock@users.noreply.github.com>
Justin Simonelis <justin.p.simonelis@gmail.com>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com>
Karan Lyons <karan@karanlyons.com>
Karl Grzeszczak <karlgrz@gmail.com>
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
Kawsar Saiyeed <kawsar.saiyeed@projiris.com>
Keli Hu <dev@keli.hu>
Ken Cochrane <kencochrane@gmail.com>
Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
Kevin "qwazerty" Houdebert <kevin.houdebert@gmail.com>
Kevin Clark <kevin.clark@gmail.com>
Kevin J. Lynagh <kevin@keminglabs.com>
Kevin Menard <kevin@nirvdrum.com>
Kevin Wallace <kevin@pentabarf.net>
Keyvan Fatehi <keyvanfatehi@gmail.com>
kim0 <email.ahmedkamal@googlemail.com>
kies <lleelm@gmail.com>
Kim BKC Carlbacker <kim.carlbacker@gmail.com>
kim0 <email.ahmedkamal@googlemail.com>
Kimbro Staken <kstaken@kstaken.com>
Kiran Gangadharan <kiran.daredevil@gmail.com>
knappe <tyler.knappe@gmail.com>
Kohei Tsuruta <coheyxyz@gmail.com>
Konstantin Pelykh <kpelykh@zettaset.com>
Kyle Conroy <kyle.j.conroy@gmail.com>
kyu <leehk1227@gmail.com>
Lachlan Coote <lcoote@vmware.com>
lalyos <lalyos@yahoo.com>
Lance Chen <cyen0312@gmail.com>
Lars R. Damerow <lars@pixar.com>
Laurie Voss <github@seldo.com>
leeplay <hyeongkyu.lee@navercorp.com>
Len Weincier <len@cloudafrica.net>
Levi Gross <levi@levigross.com>
Lewis Peckover <lew+github@lew.io>
Liang-Chi Hsieh <viirya@gmail.com>
Lokesh Mandvekar <lsm5@redhat.com>
Lokesh Mandvekar <lsm5@fedoraproject.org>
Louis Opter <kalessin@kalessin.fr>
lukaspustina <lukas.pustina@centerdevice.com>
lukemarsden <luke@digital-crocus.com>
Mahesh Tiyyagura <tmahesh@gmail.com>
Manfred Zabarauskas <manfredas@zabarauskas.com>
Manuel Meurer <manuel@krautcomputing.com>
Manuel Woelker <github@manuel.woelker.org>
Marc Abramowitz <marc@marc-abramowitz.com>
Marc Kuo <kuomarc2@gmail.com>
Marc Tamsky <mtamsky@gmail.com>
Marco Hennings <marco.hennings@freiheit.com>
Marcus Farkas <toothlessgear@finitebox.com>
Marcus Ramberg <marcus@nordaaker.com>
marcuslinke <marcus.linke@gmx.de>
Marek Goldmann <marek.goldmann@gmail.com>
Marius Voila <marius.voila@gmail.com>
Mark Allen <mrallen1@yahoo.com>
Mark McGranaghan <mmcgrana@gmail.com>
Marko Mikulicic <mmikulicic@gmail.com>
Markus Fix <lispmeister@gmail.com>
Martijn van Oosterhout <kleptog@svana.org>
Martin Redmond <martin@tinychat.com>
Mason Malone <mason.malone@gmail.com>
Mateusz Sulima <sulima.mateusz@gmail.com>
Mathieu Le Marec - Pasquet <kiorky@cryptelium.net>
Matt Apperson <me@mattapperson.com>
Matt Bachmann <bachmann.matt@gmail.com>
Matt Haggard <haggardii@gmail.com>
Matthew Heon <mheon@redhat.com>
Matthew Mueller <mattmuelle@gmail.com>
Matthias Klumpp <matthias@tenstral.net>
Matthias Kühnle <git.nivoc@neverbox.com>
mattymo <raytrac3r@gmail.com>
Maxime Petazzoni <max@signalfuse.com>
mattyw <mattyw@me.com>
Max Shytikov <mshytikov@gmail.com>
Maxim Treskin <zerthurd@gmail.com>
Maxime Petazzoni <max@signalfuse.com>
meejah <meejah@meejah.ca>
Michael Crosby <michael@crosbymichael.com>
Michael Brown <michael@netdirect.ca>
Michael Crosby <michael@docker.com>
Michael Gorsuch <gorsuch@github.com>
Michael Neale <michael.neale@gmail.com>
Michael Prokop <github@michael-prokop.at>
Michael Stapelberg <michael+gh@stapelberg.de>
Michaël Pailloncy <mpapo.dev@gmail.com>
Michiel@unhosted <michiel@unhosted.org>
Miguel Angel Fernández <elmendalerenda@gmail.com>
Mike Chelen <michael.chelen@gmail.com>
Mike Gaffney <mike@uberu.com>
Mike MacCana <mike.maccana@gmail.com>
Mike Naberezny <mike@naberezny.com>
Mike Snitzer <snitzer@redhat.com>
Mikhail Sobolev <mss@mawhrin.net>
Mohit Soni <mosoni@ebay.com>
Morgante Pell <morgante.pell@morgante.net>
Morten Siebuhr <sbhr@sbhr.dk>
Mrunal Patel <mrunalp@gmail.com>
Nan Monnand Deng <monnand@gmail.com>
Naoki Orii <norii@cs.cmu.edu>
Nate Jones <nate@endot.org>
Nathan Kleyn <nathan@nathankleyn.com>
Nathan LeClaire <nathan.leclaire@docker.com>
Nelson Chen <crazysim@gmail.com>
Niall O'Higgins <niallo@unworkable.org>
Nick Payne <nick@kurai.co.uk>
@@ -234,87 +407,147 @@ Nick Stenning <nick.stenning@digital.cabinet-office.gov.uk>
Nick Stinemates <nick@stinemates.org>
Nicolas Dudebout <nicolas.dudebout@gatech.edu>
Nicolas Kaiser <nikai@nikai.net>
NikolaMandic <mn080202@gmail.com>
noducks <onemannoducks@gmail.com>
Nolan Darilek <nolan@thewordnerd.info>
O.S. Tezer <ostezer@gmail.com>
OddBloke <daniel@daniel-watkins.co.uk>
odk- <github@odkurzacz.org>
Oguz Bilgic <fisyonet@gmail.com>
Ole Reifschneider <mail@ole-reifschneider.de>
O.S.Tezer <ostezer@gmail.com>
Olivier Gambier <dmp42@users.noreply.github.com>
pandrew <letters@paulnotcom.se>
Pascal Borreli <pascal@borreli.com>
Patrick Hemmer <patrick.hemmer@gmail.com>
pattichen <craftsbear@gmail.com>
Paul <paul9869@gmail.com>
Paul Annesley <paul@annesley.cc>
Paul Bowsher <pbowsher@globalpersonals.co.uk>
Paul Hammond <paul@paulhammond.org>
Paul Jimenez <pj@place.org>
Paul Lietar <paul@lietar.net>
Paul Morie <pmorie@gmail.com>
Paul Nasrat <pnasrat@gmail.com>
Paul <paul9869@gmail.com>
Paul Weaver <pauweave@cisco.com>
Peter Bourgon <peter@bourgon.org>
Peter Braden <peterbraden@peterbraden.co.uk>
Peter Waller <peter@scraperwiki.com>
Peter Waller <p@pwaller.net>
Phil <underscorephil@gmail.com>
Phil Spitler <pspitler@gmail.com>
Phillip Alexander <git@phillipalexander.io>
Piergiuliano Bossi <pgbossi@gmail.com>
Pierre-Alain RIVIERE <pariviere@ippon.fr>
Piotr Bogdan <ppbogdan@gmail.com>
pysqz <randomq@126.com>
Quentin Brossard <qbrossard@gmail.com>
r0n22 <cameron.regan@gmail.com>
Rafal Jeczalik <rjeczalik@gmail.com>
Rajat Pandit <rp@rajatpandit.com>
Rajdeep Dua <dua_rajdeep@yahoo.com>
Ralph Bean <rbean@redhat.com>
Ramkumar Ramachandra <artagnon@gmail.com>
Ramon van Alteren <ramon@vanalteren.nl>
Renato Riccieri Santos Zannon <renato.riccieri@gmail.com>
rgstephens <greg@udon.org>
Rhys Hiltner <rhys@twitch.tv>
Richard Harvey <richard@squarecows.com>
Richo Healey <richo@psych0tik.net>
Rick Bradley <rick@users.noreply.github.com>
Rick van de Loo <rickvandeloo@gmail.com>
Robert Bachmann <rb@robertbachmann.at>
Robert Obryk <robryk@gmail.com>
Roberto G. Hashioka <roberto.hashioka@docker.com>
Roberto Hashioka <roberto_hashioka@hotmail.com>
Robin Speekenbrink <robin@kingsquare.nl>
robpc <rpcann@gmail.com>
Rodrigo Vaz <rodrigo.vaz@gmail.com>
Roel Van Nyen <roel.vannyen@gmail.com>
Roger Peppe <rogpeppe@gmail.com>
Rohit Jnagal <jnagal@google.com>
Roland Huß <roland@jolokia.org>
Roland Moriz <rmoriz@users.noreply.github.com>
Ron Smits <ron.smits@gmail.com>
Rovanion Luckey <rovanion.luckey@gmail.com>
Rudolph Gottesheim <r.gottesheim@loot.at>
Ryan Anderson <anderson.ryanc@gmail.com>
Ryan Aslett <github@mixologic.com>
Ryan Fowler <rwfowler@gmail.com>
Ryan O'Donnell <odonnellryanc@gmail.com>
Ryan Seto <ryanseto@yak.net>
Ryan Thomas <rthomas@atlassian.com>
s-ko <aleks@s-ko.net>
Sam Alba <sam.alba@gmail.com>
Sam Bailey <cyprix@cyprix.com.au>
Sam J Sharpe <sam.sharpe@digital.cabinet-office.gov.uk>
Sam Reis <sreis@atlassian.com>
Sam Rijs <srijs@airpost.net>
Samuel Andaya <samuel@andaya.net>
satoru <satorulogic@gmail.com>
Satoshi Amemiya <satoshi_amemiya@voyagegroup.com>
Scott Bessler <scottbessler@gmail.com>
Scott Collier <emailscottcollier@gmail.com>
Sean Cronin <seancron@gmail.com>
Sean P. Kane <skane@newrelic.com>
Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn <thaJeztah@users.noreply.github.com>
Senthil Kumar Selvaraj <senthil.thecoder@gmail.com>
SeongJae Park <sj38.park@gmail.com>
Shane Canon <scanon@lbl.gov>
shaunol <shaunol@gmail.com>
Shawn Landden <shawn@churchofgit.com>
Shawn Siefkas <shawn.siefkas@meredith.com>
Shih-Yuan Lee <fourdollars@gmail.com>
shin- <joffrey@docker.com>
Silas Sewell <silas@sewell.org>
Simon Taranto <simon.taranto@gmail.com>
Sindhu S <sindhus@live.in>
Sjoerd Langkemper <sjoerd-github@linuxonly.nl>
Solomon Hykes <solomon@dotcloud.com>
Solomon Hykes <solomon@docker.com>
Song Gao <song@gao.io>
Soulou <leo@unbekandt.eu>
soulshake <amy@gandi.net>
Sridatta Thatipamala <sthatipamala@gmail.com>
Sridhar Ratnakumar <sridharr@activestate.com>
Steeve Morin <steeve.morin@gmail.com>
Stefan Praszalowicz <stefan@greplin.com>
Stephen Crosby <stevecrozz@gmail.com>
Steven Burgess <steven.a.burgess@hotmail.com>
sudosurootdev <sudosurootdev@gmail.com>
Sven Dowideit <svendowideit@home.org.au>
Sylvain Bellemare <sylvain.bellemare@ezeep.com>
Sébastien <sebastien@yoozio.com>
Sébastien Luttringer <seblu@seblu.net>
Sébastien Stormacq <sebsto@users.noreply.github.com>
tang0th <tang0th@gmx.com>
Tatsuki Sugiura <sugi@nemui.org>
Tehmasp Chaudhri <tehmasp@gmail.com>
Thatcher Peskens <thatcher@dotcloud.com>
Thatcher Peskens <thatcher@docker.com>
Thermionix <bond711@gmail.com>
Thijs Terlouw <thijsterlouw@gmail.com>
Thomas Bikeev <thomas.bikeev@mac.com>
Thomas Frössman <thomasf@jossystem.se>
Thomas Hansen <thomas.hansen@gmail.com>
Thomas LEVEIL <thomasleveil@gmail.com>
Thomas Schroeter <thomas@cliqz.com>
Tianon Gravi <admwiggin@gmail.com>
Tim Bosse <maztaim@users.noreply.github.com>
Tibor Vass <teabee89@gmail.com>
Tim Bosse <taim@bosboot.org>
Tim Ruffles <oi@truffles.me.uk>
Tim Ruffles <timruffles@googlemail.com>
Tim Terhorst <mynamewastaken+git@gmail.com>
Timothy Hobbs <timothyhobbs@seznam.cz>
tjmehta <tj@init.me>
Tobias Bieniek <Tobias.Bieniek@gmx.de>
Tobias Gesellchen <tobias@gesellix.de>
Tobias Schmidt <ts@soundcloud.com>
Tobias Schwab <tobias.schwab@dynport.de>
Todd Lunter <tlunter@gmail.com>
Tom Fotherby <tom+github@peopleperhour.com>
Tom Hulihan <hulihan.tom159@gmail.com>
Tom Maaswinkel <tom.maaswinkel@12wiki.eu>
Tommaso Visconti <tommaso.visconti@gmail.com>
Tony Daws <tony@daws.ca>
tpng <benny.tpng@gmail.com>
Travis Cline <travis.cline@gmail.com>
Trent Ogren <tedwardo2@gmail.com>
Tyler Brock <tyler.brock@gmail.com>
Tzu-Jung Lee <roylee17@gmail.com>
Ulysse Carion <ulyssecarion@gmail.com>
@@ -322,26 +555,43 @@ unclejack <unclejacksons@gmail.com>
vgeta <gopikannan.venugopalsamy@gmail.com>
Victor Coisne <victor.coisne@dotcloud.com>
Victor Lyuboslavsky <victor@victoreda.com>
Victor Marmol <vmarmol@google.com>
Victor Vieux <victor.vieux@docker.com>
Viktor Vojnovski <viktor.vojnovski@amadeus.com>
Vincent Batts <vbatts@redhat.com>
Vincent Bernat <bernat@luffy.cx>
Vincent Mayers <vincent.mayers@inbloom.org>
Vincent Woo <me@vincentwoo.com>
Vinod Kulkarni <vinod.kulkarni@gmail.com>
Vishnu Kannan <vishnuk@google.com>
Vitor Monteiro <vmrmonteiro@gmail.com>
Vivek Agarwal <me@vivek.im>
Vladimir Bulyga <xx@ccxx.cc>
Vladimir Kirillov <proger@wilab.org.ua>
Vladimir Rutsky <iamironbob@gmail.com>
Vladimir Rutsky <altsysrq@gmail.com>
waitingkuo <waitingkuo0527@gmail.com>
Walter Leibbrandt <github@wrl.co.za>
Walter Stanish <walter@pratyeka.org>
WarheadsSE <max@warheads.net>
Wes Morgan <cap10morgan@gmail.com>
Will Dietz <w@wdtz.org>
William Delanoue <william.delanoue@gmail.com>
Will Rouesnel <w.rouesnel@gmail.com>
Will Weaver <monkey@buildingbananas.com>
William Delanoue <william.delanoue@gmail.com>
William Henry <whenry@redhat.com>
William Riancho <wr.wllm@gmail.com>
William Thurston <thurstw@amazon.com>
wyc <wayne@neverfear.org>
Xiuming Chen <cc@cxm.cc>
Yang Bai <hamo.by@gmail.com>
Yasunori Mahata <nori@mahata.net>
Yurii Rashkovskii <yrashk@gmail.com>
Zac Dover <zdover@redhat.com>
Zain Memon <zain@inzain.net>
Zaiste! <oh@zaiste.net>
Zane DeGraffenried <zane.deg@gmail.com>
Zilin Du <zilin.du@gmail.com>
zimbatm <zimbatm@zimbatm.com>
Zoltan Tombol <zoltan.tombol@gmail.com>
zqh <zqhxuyuan@gmail.com>
Álvaro Lázaro <alvaro.lazaro.g@gmail.com>
+111 -8
View File
@@ -1,5 +1,108 @@
# Changelog
## 1.2.0 (2014-08-20)
#### Runtime
+ Make /etc/hosts /etc/resolv.conf and /etc/hostname editable at runtime
+ Auto-restart containers using policies
+ Use /var/lib/docker/tmp for large temporary files
+ `--cap-add` and `--cap-drop` to tweak what linux capability you want
+ `--device` to use devices in containers
#### Client
+ `docker search` on private registries
+ Add `exited` filter to `docker ps --filter`
* `docker rm -f` now kills instead of stop
+ Support for IPv6 addresses in `--dns` flag
#### Proxy
+ Proxy instances in separate processes
* Small bug fix on UDP proxy
## 1.1.2 (2014-07-23)
#### Runtime
+ Fix port allocation for existing containers
+ Fix containers restart on daemon restart
#### Packaging
+ Fix /etc/init.d/docker issue on Debian
## 1.1.1 (2014-07-09)
#### Builder
* Fix issue with ADD
## 1.1.0 (2014-07-03)
#### Notable features since 1.0.1
+ Add `.dockerignore` support
+ Pause containers during `docker commit`
+ Add `--tail` to `docker logs`
#### Builder
+ Allow a tar file as context for `docker build`
* Fix issue with white-spaces and multi-lines in `Dockerfiles`
#### Runtime
* Overall performance improvements
* Allow `/` as source of `docker run -v`
* Fix port allocation
* Fix bug in `docker save`
* Add links information to `docker inspect`
#### Client
* Improve command line parsing for `docker commit`
#### Remote API
* Improve status code for the `start` and `stop` endpoints
## 1.0.1 (2014-06-19)
#### Notable features since 1.0.0
* Enhance security for the LXC driver
#### Builder
* Fix `ONBUILD` instruction passed to grandchildren
#### Runtime
* Fix events subscription
* Fix /etc/hostname file with host networking
* Allow `-h` and `--net=none`
* Fix issue with hotplug devices in `--privileged`
#### Client
* Fix artifacts with events
* Fix a panic with empty flags
* Fix `docker cp` on Mac OS X
#### Miscellaneous
* Fix compilation on Mac OS X
* Fix several races
## 1.0.0 (2014-06-09)
#### Notable features since 0.12.0
* Production support
## 0.12.0 (2014-06-05)
#### Notable features since 0.11.0
* 40+ various improvements to stability, performance and usability
* New `COPY` Dockerfile instruction to allow copying a local file from the context into the container without ever extracting if the file is a tar file
* Inherit file permissions from the host on `ADD`
* New `pause` and `unpause` commands to allow pausing and unpausing of containers using cgroup freezer
* The `images` command has a `-f`/`--filter` option to filter the list of images
* Add `--force-rm` to clean up after a failed build
* Standardize JSON keys in Remote API to CamelCase
* Pull from a docker run now assumes `latest` tag if not specified
* Enhance security on Linux capabilities and device nodes
## 0.11.1 (2014-05-07)
#### Registry
- Fix push and pull to private registry
## 0.11.0 (2014-05-07)
#### Notable features since 0.10.0
@@ -229,7 +332,7 @@
- Add newlines to the JSON stream functions.
#### Runtime
* Do not ping the registry from the CLI. All requests to registres flow through the daemon.
* Do not ping the registry from the CLI. All requests to registries flow through the daemon.
- Check for nil information return in the lxc driver. This fixes panics with older lxc versions.
- Devicemapper: cleanups and fix for unmount. Fixes two problems which were causing unmount to fail intermittently.
- Devicemapper: remove directory when removing device. Directories don't get left behind when removing the device.
@@ -821,7 +924,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Add domainname support
+ Implement image filtering with path.Match
* Remove unnecesasry warnings
* Remove unnecessary warnings
* Remove os/user dependency
* Only mount the hostname file when the config exists
* Handle signals within the `docker login` command
@@ -844,7 +947,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Hack: Vendor all dependencies
* Remote API: Bump to v1.5
* Packaging: Break down hack/make.sh into small scripts, one per 'bundle': test, binary, ubuntu etc.
* Documentation: General improvments
* Documentation: General improvements
## 0.6.1 (2013-08-23)
@@ -1114,7 +1217,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
* Prevent rm of running containers
* Use go1.1 cookiejar
- Fix issue detaching from running TTY container
- Forbid parralel push/pull for a single image/repo. Fixes #311
- Forbid parallel push/pull for a single image/repo. Fixes #311
- Fix race condition within Run command when attaching.
#### Client
@@ -1230,7 +1333,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Add caching to docker builder
+ Add support for docker builder with native API as top level command
+ Implement ENV within docker builder
- Check the command existance prior create and add Unit tests for the case
- Check the command existence prior create and add Unit tests for the case
* use any whitespaces instead of tabs
#### Runtime
@@ -1269,13 +1372,13 @@ With the ongoing changes to the networking and execution subsystems of docker te
#### Runtime
- Fix the command existance check
- Fix the command existence check
- strings.Split may return an empty string on no match
- Fix an index out of range crash if cgroup memory is not
#### Documentation
* Various improvments
* Various improvements
+ New example: sharing data between 2 couchdb databases
#### Other
@@ -1305,7 +1408,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
## 0.2.0 (2013-04-23)
- Runtime: ghost containers can be killed and waited for
* Documentation: update install intructions
* Documentation: update install instructions
- Packaging: fix Vagrantfile
- Development: automate releasing binaries and ubuntu packages
+ Add a changelog
+161 -53
View File
@@ -4,20 +4,58 @@ 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.
## Topics
* [Security Reports](#security-reports)
* [Design and Cleanup Proposals](#design-and-cleanup-proposals)
* [Reporting Issues](#reporting-issues)
* [Build Environment](#build-environment)
* [Contribution Guidelines](#contribution-guidelines)
* [Community Guidelines](#docker-community-guidelines)
## Security Reports
Please **DO NOT** file an issue for security related issues. Please send your
reports to [security@docker.com](mailto:security@docker.com) instead.
## Design and Cleanup Proposals
When considering a design proposal, we are looking for:
* 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:
* 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.
## Reporting Issues
When reporting [issues](https://github.com/dotcloud/docker/issues)
on GitHub please include your host OS (Ubuntu 12.04, Fedora 19, etc),
the output of `uname -a` and the output of `docker version` along with
the output of `docker info`. Please include the steps required to reproduce
the problem if possible and applicable.
This information will help us review and fix your issue faster.
When reporting [issues](https://github.com/docker/docker/issues) on
GitHub 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.
## Build Environment
For instructions on setting up your development environment, please
see our dedicated [dev environment setup
docs](http://docs.docker.io/en/latest/contributing/devenvironment/).
docs](http://docs.docker.com/contributing/devenvironment/).
## Contribution guidelines
@@ -34,7 +72,7 @@ received feedback on what to improve.
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.
that feature *on top of* Docker.
### Discuss your design on the mailing list
@@ -48,7 +86,7 @@ else is working on the same thing.
### Create issues...
Any significant improvement should be documented as [a GitHub
issue](https://github.com/dotcloud/docker/issues) before anybody
issue](https://github.com/docker/docker/issues) before anybody
starts working on it.
### ...but check for existing issues first!
@@ -60,12 +98,12 @@ help prioritize the most common problems and requests.
### Conventions
Fork the repo and make changes on your fork in a feature branch:
Fork the repository and make changes on your fork in a feature branch:
- If it's a bugfix branch, name it XXX-something where XXX 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 XXX-something where XXX is the number of the issue.
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
@@ -73,23 +111,16 @@ 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 docs get released.
well as a clean documentation build. See `docs/README.md` for more
information on building the docs and how they get released.
Write clean code. Universally formatted code promotes ease of writing, reading,
and maintenance. Always run `go fmt` before committing your changes. Most
editors have plugins that do this automatically, and there's also a git
pre-commit hook:
```
curl -o .git/hooks/pre-commit https://raw.githubusercontent.com/edsrzf/gofmt-git-hook/master/fmt-check && chmod +x .git/hooks/pre-commit
```
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 requests must not contain commits from other users or branches.
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.
@@ -100,28 +131,33 @@ 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.
Pull requests must be cleanly rebased ontop 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.
Commits that fix or close an issue should include a reference like `Closes #XXX`
or `Fixes #XXX`, which will automatically close the issue when merged.
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.
Add your name to the AUTHORS file, but make sure the list is sorted and your
name and email address match your git configuration. The AUTHORS file is
regenerated occasionally from the git commit history, so a mismatch may result
in your changes being overwritten.
Please do not add yourself to the `AUTHORS` file, as it is regenerated
regularly from the Git history.
### Merge approval
Docker maintainers use LGTM (looks good to me) in comments on the code review
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.
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)
@@ -144,7 +180,6 @@ San Francisco, CA 94110 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
@@ -172,37 +207,110 @@ By making a contribution to this project, I certify that:
this project or the open source license(s) involved.
```
then you just add a line to every git commit message:
Then you just add a line to every git commit message:
Docker-DCO-1.1-Signed-off-by: Joe Smith <joe.smith@email.com> (github: github_handle)
Signed-off-by: Joe Smith <joe.smith@email.com>
using your real name (sorry, no pseudonyms or anonymous contributions.)
Using your real name (sorry, no pseudonyms or anonymous contributions.)
One way to automate this, is customise your get ``commit.template`` by adding
a ``prepare-commit-msg`` hook to your docker checkout:
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`.
```
curl -o .git/hooks/prepare-commit-msg https://raw.github.com/dotcloud/docker/master/contrib/prepare-commit-msg.hook && chmod +x .git/hooks/prepare-commit-msg
```
* Note: the above script expects to find your GitHub user name in ``git config --get github.user``
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.
* 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.io)
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
* Step 2: make yourself useful by contributing code, bugfixes, support etc.
* Step 3: volunteer on the irc channel (#docker@freenode)
* Step 4: propose yourself at a scheduled docker meeting in #docker-dev
* Step 1: Learn the component inside out
* Step 2: Make yourself useful by contributing code, bug fixes, support etc.
* Step 3: Volunteer on the IRC channel (#docker at Freenode)
* 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 maintainer to make a difference on the project!
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
maintainer to make a difference on the project!
### 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.
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.
## 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:
* 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
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.
* 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
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.
1. First occurrence: We'll give you a friendly, but public reminder that the
behavior is inappropriate according to our guidelines.
2. Second occurrence: We will send you a private message with a warning that
any additional violations will result in removal from the community.
3. Third occurrence: Depending on the violation, we may need to delete or ban
your account.
**Notes:**
* 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.
* 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.
* Extreme violations of a threatening, abusive, destructive or illegal nature
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.
+21 -14
View File
@@ -6,7 +6,7 @@
# docker build -t docker .
#
# # Mount your source in an interactive container for quick testing:
# docker run -v `pwd`:/go/src/github.com/dotcloud/docker --privileged -i -t docker bash
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
@@ -24,12 +24,11 @@
#
docker-version 0.6.1
FROM ubuntu:13.10
FROM ubuntu:14.04
MAINTAINER Tianon Gravi <admwiggin@gmail.com> (@tianon)
# Packaged dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
apt-utils \
RUN apt-get update && apt-get install -y \
aufs-tools \
automake \
btrfs-tools \
@@ -41,18 +40,15 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
lxc=1.0* \
mercurial \
pandoc \
parallel \
reprepro \
ruby1.9.1 \
ruby1.9.1-dev \
s3cmd=1.1.0* \
--no-install-recommends
# Get and compile LXC 0.8 (since it is the most stable)
RUN git clone --no-checkout https://github.com/lxc/lxc.git /usr/local/lxc && cd /usr/local/lxc && git checkout -q lxc-0.8.0
RUN cd /usr/local/lxc && ./autogen.sh && ./configure --disable-docs && make && make install
# 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
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
@@ -63,9 +59,10 @@ RUN cd /usr/local/lvm2 && ./configure --enable-static_link && make device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Install Go
RUN curl -s https://go.googlecode.com/files/go1.2.1.src.tar.gz | tar -v -C /usr/local -xz
RUN curl -sSL https://golang.org/dl/go1.3.1.src.tar.gz | tar -v -C /usr/local -xz
ENV PATH /usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/dotcloud/docker/vendor
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
# Compile Go for cross compilation
@@ -83,8 +80,14 @@ RUN go get code.google.com/p/go.tools/cmd/cover
# TODO replace FPM with some very minimal debhelper stuff
RUN gem install --no-rdoc --no-ri fpm --version 1.0.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 ./...
# Get the "busybox" image source so we can build locally instead of pulling
RUN git clone https://github.com/jpetazzo/docker-busybox.git /docker-busybox
RUN git clone -b buildroot-2014.02 https://github.com/jpetazzo/docker-busybox.git /docker-busybox
# Setup s3cmd config
RUN /bin/echo -e '[default]\naccess_key=$AWS_ACCESS_KEY\nsecret_key=$AWS_SECRET_KEY' > /.s3cfg
@@ -92,12 +95,16 @@ RUN /bin/echo -e '[default]\naccess_key=$AWS_ACCESS_KEY\nsecret_key=$AWS_SECRET_
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
# Add an unprivileged user to be used for tests which need it
RUN groupadd -r docker
RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/dotcloud/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]
# Upload docker source
ADD . /go/src/github.com/dotcloud/docker
COPY . /go/src/github.com/docker/docker
-24
View File
@@ -1,24 +0,0 @@
## FIXME
This file is a loose collection of things to improve in the codebase, for the internal
use of the maintainers.
They are not big enough to be in the roadmap, not user-facing enough to be github issues,
and not important enough to be discussed in the mailing list.
They are just like FIXME comments in the source code, except we're not sure where in the source
to put them - so we put them here :)
* Run linter on codebase
* Unify build commands and regular commands
* Move source code into src/ subdir for clarity
* docker build: on non-existent local path for ADD, don't show full absolute path on the host
* use size header for progress bar in pull
* Clean up context upload in build!!!
* Parallel pull
* Upgrade dockerd without stopping containers
* Simple command to remove all untagged images (`docker rmi $(docker images | awk '/^<none>/ { print $3 }')`)
* Simple command to clean up containers for disk space
* Clean up the ProgressReader api, it's a PITA to use
+3 -1
View File
@@ -1,7 +1,9 @@
Solomon Hykes <solomon@docker.com> (@shykes)
Guillaume J. Charmes <guillaume@docker.com> (@creack)
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)
+7 -4
View File
@@ -1,14 +1,16 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli validate
# to allow `make BINDDIR=. shell` or `make BINDDIR= test`
BINDDIR := bundles
# (default to no bind mount if DOCKER_HOST is set)
BINDDIR := $(if $(DOCKER_HOST),,bundles)
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
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_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_MOUNT := $(if $(BINDDIR),-v "$(CURDIR)/$(BINDDIR):/go/src/github.com/dotcloud/docker/$(BINDDIR)")
DOCKER_MOUNT := $(if $(BINDDIR),-v "$(CURDIR)/$(BINDDIR):/go/src/github.com/docker/docker/$(BINDDIR)")
DOCKER_RUN_DOCKER := docker run --rm -it --privileged -e TESTFLAGS -e TESTDIRS -e DOCKER_GRAPHDRIVER -e DOCKER_EXECDRIVER $(DOCKER_MOUNT) "$(DOCKER_IMAGE)"
# to allow `make DOCSDIR=docs docs-shell`
@@ -32,10 +34,10 @@ docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-release: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" ./release.sh
$(DOCKER_RUN_DOCS) -e BUILD_ROOT "$(DOCKER_DOCS_IMAGE)" ./release.sh
test: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary test-unit test-integration test-integration-cli
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration test-integration-cli
test-unit: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-unit
@@ -59,6 +61,7 @@ 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:
+22 -9
View File
@@ -18,7 +18,13 @@ 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/img/logo_compressed.png "Docker")
![Docker L](docs/theme/mkdocs/images/docker-logo-compressed.png "Docker")
## Security Disclosure
Security is very important to us. If you have any issue regarding security,
please disclose the information responsibly by sending an email to
security@docker.com and not by creating a github issue.
## Better than VMs
@@ -125,9 +131,8 @@ Here's a typical Docker build process:
```bash
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -q -y python python-pip curl
RUN curl -L https://github.com/shykes/helloflask/archive/master.tar.gz | tar -xzv
RUN apt-get update && apt-get install -y python python-pip curl
RUN curl -sSL https://github.com/shykes/helloflask/archive/master.tar.gz | tar -xzv
RUN cd helloflask-master && pip install -r requirements.txt
```
@@ -142,11 +147,10 @@ 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 for quickly learning the basics of
using Docker.
We also offer an [interactive tutorial](http://www.docker.com/tryit/)
for quickly learning the basics of using Docker.
For up-to-date install instructions and online tutorials, see the
[Getting Started page](http://www.docker.io/gettingstarted/).
For up-to-date install instructions, see the [Docs](http://docs.docker.com).
Usage examples
==============
@@ -155,7 +159,7 @@ Docker can be used to run short-lived commands, long-running daemons
(app servers, databases etc.), interactive shell sessions, etc.
You can find a [list of real-world
examples](http://docs.docker.io/en/latest/examples/) in the
examples](http://docs.docker.com/examples/) in the
documentation.
Under the hood
@@ -173,6 +177,9 @@ Under the hood, Docker is built on the following components:
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)
Want to hack on Docker? Awesome! There are instructions to get you
started [here](CONTRIBUTING.md).
@@ -190,3 +197,9 @@ It is your responsibility to ensure that your use and/or transfer does not
violate applicable laws.
For more information, please see http://www.bis.doc.gov
Licensing
=========
Docker is licensed under the Apache License, Version 2.0. See LICENSE for full license text.
+1 -1
View File
@@ -1 +1 @@
0.11.0
1.2.0
+5
View File
@@ -0,0 +1,5 @@
This directory contains code pertaining to the Docker API:
- Used by the docker client when communicating with the docker daemon
- Used by third party tools wishing to interface with the docker daemon
+22 -18
View File
@@ -10,11 +10,24 @@ import (
"strings"
"text/template"
flag "github.com/dotcloud/docker/pkg/mflag"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/registry"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/registry"
)
type DockerCli struct {
proto string
addr string
configFile *registry.ConfigFile
in io.ReadCloser
out io.Writer
err io.Writer
isTerminal bool
terminalFd uintptr
tlsConfig *tls.Config
scheme string
}
var funcMap = template.FuncMap{
"json": func(v interface{}) string {
a, _ := json.Marshal(v)
@@ -23,6 +36,9 @@ var funcMap = template.FuncMap{
}
func (cli *DockerCli) getMethod(name string) (func(...string) error, bool) {
if len(name) == 0 {
return nil, false
}
methodName := "Cmd" + strings.ToUpper(name[:1]) + strings.ToLower(name[1:])
method := reflect.ValueOf(cli).MethodByName(methodName)
if !method.IsValid() {
@@ -31,7 +47,8 @@ func (cli *DockerCli) getMethod(name string) (func(...string) error, bool) {
return method.Interface().(func(...string) error), true
}
func (cli *DockerCli) ParseCommands(args ...string) error {
// Cmd executes the specified command
func (cli *DockerCli) Cmd(args ...string) error {
if len(args) > 0 {
method, exists := cli.getMethod(args[0])
if !exists {
@@ -73,7 +90,7 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, proto, addr string, tlsC
}
if in != nil {
if file, ok := in.(*os.File); ok {
if file, ok := out.(*os.File); ok {
terminalFd = file.Fd()
isTerminal = term.IsTerminal(terminalFd)
}
@@ -94,16 +111,3 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, proto, addr string, tlsC
scheme: scheme,
}
}
type DockerCli struct {
proto string
addr string
configFile *registry.ConfigFile
in io.ReadCloser
out io.Writer
err io.Writer
isTerminal bool
terminalFd uintptr
tlsConfig *tls.Config
scheme string
}
+413 -225
View File
File diff suppressed because it is too large Load Diff
+12 -11
View File
@@ -11,10 +11,11 @@ import (
"runtime"
"strings"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/dockerversion"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/utils"
"github.com/docker/docker/api"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/utils"
)
func (cli *DockerCli) dial() (net.Conn, error) {
@@ -88,12 +89,12 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
}()
// When TTY is ON, use regular copy
if setRawTerminal {
if setRawTerminal && stdout != nil {
_, err = io.Copy(stdout, br)
} else {
_, err = utils.StdCopy(stdout, stderr, br)
}
utils.Debugf("[hijack] End of stdout")
log.Debugf("[hijack] End of stdout")
return err
})
}
@@ -101,15 +102,15 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
sendStdin := utils.Go(func() error {
if in != nil {
io.Copy(rwc, in)
utils.Debugf("[hijack] End of stdin")
log.Debugf("[hijack] End of stdin")
}
if tcpc, ok := rwc.(*net.TCPConn); ok {
if err := tcpc.CloseWrite(); err != nil {
utils.Debugf("Couldn't send EOF: %s\n", err)
log.Debugf("Couldn't send EOF: %s", err)
}
} else if unixc, ok := rwc.(*net.UnixConn); ok {
if err := unixc.CloseWrite(); err != nil {
utils.Debugf("Couldn't send EOF: %s\n", err)
log.Debugf("Couldn't send EOF: %s", err)
}
}
// Discard errors due to pipe interruption
@@ -118,14 +119,14 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
if stdout != nil || stderr != nil {
if err := <-receiveStdout; err != nil {
utils.Debugf("Error receiveStdout: %s", err)
log.Debugf("Error receiveStdout: %s", err)
return err
}
}
if !cli.isTerminal {
if err := <-sendStdin; err != nil {
utils.Debugf("Error sendStdin: %s", err)
log.Debugf("Error sendStdin: %s", err)
return err
}
}
+18 -14
View File
@@ -17,12 +17,13 @@ import (
"strings"
"syscall"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/dockerversion"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/utils"
"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/pkg/term"
"github.com/docker/docker/registry"
"github.com/docker/docker/utils"
)
var (
@@ -105,7 +106,7 @@ func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo b
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: %s", bytes.TrimSpace(body))
return nil, resp.StatusCode, fmt.Errorf("Error response from daemon: %s", bytes.TrimSpace(body))
}
return resp.Body, resp.StatusCode, nil
}
@@ -165,7 +166,7 @@ func (cli *DockerCli) streamHelper(method, path string, setRawTerminal bool, in
} else {
_, err = utils.StdCopy(stdout, stderr, resp.Body)
}
utils.Debugf("[stream] End of stdout")
log.Debugf("[stream] End of stdout")
return err
}
return nil
@@ -180,7 +181,7 @@ func (cli *DockerCli) resizeTty(id string) {
v.Set("h", strconv.Itoa(height))
v.Set("w", strconv.Itoa(width))
if _, _, err := readBody(cli.call("POST", "/containers/"+id+"/resize?"+v.Encode(), nil, false)); err != nil {
utils.Debugf("Error resize: %s", err)
log.Debugf("Error resize: %s", err)
}
}
@@ -200,7 +201,7 @@ func waitForExit(cli *DockerCli, containerId string) (int, error) {
// 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) {
body, _, err := readBody(cli.call("GET", "/containers/"+containerId+"/json", nil, false))
steam, _, err := cli.call("GET", "/containers/"+containerId+"/json", nil, false)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != ErrConnectionRefused {
@@ -208,11 +209,14 @@ func getExitCode(cli *DockerCli, containerId string) (bool, int, error) {
}
return false, -1, nil
}
c := &api.Container{}
if err := json.Unmarshal(body, c); err != nil {
var result engine.Env
if err := result.Decode(steam); err != nil {
return false, -1, err
}
return c.State.Running, c.State.ExitCode, nil
state := result.GetSubEnv("State")
return state.GetBool("Running"), state.GetInt("ExitCode"), nil
}
func (cli *DockerCli) monitorTtySize(id string) error {
@@ -234,7 +238,7 @@ func (cli *DockerCli) getTtySize() (int, int) {
}
ws, err := term.GetWinsize(cli.terminalFd)
if err != nil {
utils.Debugf("Error getting size: %s", err)
log.Debugf("Error getting size: %s", err)
if ws == nil {
return 0, 0
}
+9 -7
View File
@@ -2,21 +2,23 @@ package api
import (
"fmt"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/version"
"github.com/dotcloud/docker/utils"
"mime"
"strings"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/version"
)
const (
APIVERSION version.Version = "1.11"
APIVERSION version.Version = "1.14"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
)
func ValidateHost(val string) (string, error) {
host, err := utils.ParseHost(DEFAULTHTTPHOST, DEFAULTUNIXSOCKET, val)
host, err := parsers.ParseHost(DEFAULTHTTPHOST, DEFAULTUNIXSOCKET, val)
if err != nil {
return val, err
}
@@ -30,7 +32,7 @@ func DisplayablePorts(ports *engine.Table) string {
ports.Sort()
for _, port := range ports.Data {
if port.Get("IP") == "" {
result = append(result, fmt.Sprintf("%d/%s", port.GetInt("PublicPort"), port.Get("Type")))
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")))
}
@@ -41,7 +43,7 @@ func DisplayablePorts(ports *engine.Table) string {
func MatchesContentType(contentType, expectedType string) bool {
mimetype, _, err := mime.ParseMediaType(contentType)
if err != nil {
utils.Errorf("Error parsing media type: %s error: %s", contentType, err.Error())
log.Errorf("Error parsing media type: %s error: %s", contentType, err.Error())
}
return err == nil && mimetype == expectedType
}
-18
View File
@@ -1,18 +0,0 @@
package api
import (
"github.com/dotcloud/docker/nat"
"github.com/dotcloud/docker/runconfig"
)
type Container struct {
Config runconfig.Config
HostConfig runconfig.HostConfig
State struct {
Running bool
ExitCode int
}
NetworkSettings struct {
Ports nat.PortMap
}
}
+3
View File
@@ -0,0 +1,3 @@
Victor Vieux <vieux@docker.com> (@vieux)
# off the grid until september
# Johan Euphrosine <proppy@google.com> (@proppy)
+190 -129
View File
@@ -11,7 +11,6 @@ import (
"fmt"
"io"
"io/ioutil"
"log"
"net"
"net/http"
"net/http/pprof"
@@ -21,16 +20,18 @@ import (
"syscall"
"code.google.com/p/go.net/websocket"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/listenbuffer"
"github.com/dotcloud/docker/pkg/systemd"
"github.com/dotcloud/docker/pkg/user"
"github.com/dotcloud/docker/pkg/version"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/utils"
"github.com/docker/libcontainer/user"
"github.com/gorilla/mux"
"github.com/docker/docker/api"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/listenbuffer"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/systemd"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/registry"
"github.com/docker/docker/utils"
)
var (
@@ -87,7 +88,7 @@ func httpError(w http.ResponseWriter, err error) {
}
if err != nil {
utils.Errorf("HTTP Error: statusCode=%d %s", statusCode, err.Error())
log.Errorf("HTTP Error: statusCode=%d %s", statusCode, err.Error())
http.Error(w, err.Error(), statusCode)
}
}
@@ -122,17 +123,17 @@ func postAuth(eng *engine.Engine, version version.Version, w http.ResponseWriter
var (
authConfig, err = ioutil.ReadAll(r.Body)
job = eng.Job("auth")
status string
stdoutBuffer = bytes.NewBuffer(nil)
)
if err != nil {
return err
}
job.Setenv("authConfig", string(authConfig))
job.Stdout.AddString(&status)
job.Stdout.Add(stdoutBuffer)
if err = job.Run(); err != nil {
return err
}
if status != "" {
if status := engine.Tail(stdoutBuffer, 1); status != "" {
var env engine.Env
env.Set("Status", status)
return writeJSON(w, http.StatusOK, env)
@@ -165,6 +166,36 @@ func postContainersKill(eng *engine.Engine, version version.Version, w http.Resp
return nil
}
func postContainersPause(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := parseForm(r); err != nil {
return err
}
job := eng.Job("pause", vars["name"])
if err := job.Run(); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func postContainersUnpause(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := parseForm(r); err != nil {
return err
}
job := eng.Job("unpause", vars["name"])
if err := job.Run(); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func getContainersExport(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
@@ -188,6 +219,8 @@ func getImagesJSON(eng *engine.Engine, version version.Version, w http.ResponseW
job = eng.Job("images")
)
job.Setenv("filters", r.Form.Get("filters"))
// FIXME this parameter could just be a match filter
job.Setenv("filter", r.Form.Get("filter"))
job.Setenv("all", r.Form.Get("all"))
@@ -205,10 +238,10 @@ func getImagesJSON(eng *engine.Engine, version version.Version, w http.ResponseW
outsLegacy := engine.NewTable("Created", 0)
for _, out := range outs.Data {
for _, repoTag := range out.GetList("RepoTags") {
parts := strings.Split(repoTag, ":")
repo, tag := parsers.ParseRepositoryTag(repoTag)
outLegacy := &engine.Env{}
outLegacy.Set("Repository", parts[0])
outLegacy.Set("Tag", parts[1])
outLegacy.Set("Repository", repo)
outLegacy.SetJson("Tag", tag)
outLegacy.Set("Id", out.Get("Id"))
outLegacy.SetInt64("Created", out.GetInt64("Created"))
outLegacy.SetInt64("Size", out.GetInt64("Size"))
@@ -244,7 +277,7 @@ func getEvents(eng *engine.Engine, version version.Version, w http.ResponseWrite
return err
}
var job = eng.Job("events", r.RemoteAddr)
var job = eng.Job("events")
streamJSON(job, w, true)
job.Setenv("since", r.Form.Get("since"))
job.Setenv("until", r.Form.Get("until"))
@@ -269,7 +302,7 @@ func getContainersChanges(eng *engine.Engine, version version.Version, w http.Re
if vars == nil {
return fmt.Errorf("Missing parameter")
}
var job = eng.Job("changes", vars["name"])
var job = eng.Job("container_changes", vars["name"])
streamJSON(job, w, false)
return job.Run()
@@ -306,6 +339,7 @@ func getContainersJSON(eng *engine.Engine, version version.Version, w http.Respo
job.Setenv("since", r.Form.Get("since"))
job.Setenv("before", r.Form.Get("before"))
job.Setenv("limit", r.Form.Get("limit"))
job.Setenv("filters", r.Form.Get("filters"))
if version.GreaterThanOrEqualTo("1.5") {
streamJSON(job, w, false)
@@ -338,13 +372,24 @@ func getContainersLogs(eng *engine.Engine, version version.Version, w http.Respo
}
var (
job = eng.Job("inspect", vars["name"], "container")
c, err = job.Stdout.AddEnv()
inspectJob = eng.Job("container_inspect", vars["name"])
logsJob = eng.Job("logs", vars["name"])
c, err = inspectJob.Stdout.AddEnv()
)
if err != nil {
return err
}
if err = job.Run(); err != nil {
logsJob.Setenv("follow", r.Form.Get("follow"))
logsJob.Setenv("tail", r.Form.Get("tail"))
logsJob.Setenv("stdout", r.Form.Get("stdout"))
logsJob.Setenv("stderr", r.Form.Get("stderr"))
logsJob.Setenv("timestamps", r.Form.Get("timestamps"))
// Validate args here, because we can't return not StatusOK after job.Run() call
stdout, stderr := logsJob.GetenvBool("stdout"), logsJob.GetenvBool("stderr")
if !(stdout || stderr) {
return fmt.Errorf("Bad parameters: you must choose at least one stream")
}
if err = inspectJob.Run(); err != nil {
return err
}
@@ -358,15 +403,10 @@ func getContainersLogs(eng *engine.Engine, version version.Version, w http.Respo
errStream = outStream
}
job = eng.Job("logs", vars["name"])
job.Setenv("follow", r.Form.Get("follow"))
job.Setenv("stdout", r.Form.Get("stdout"))
job.Setenv("stderr", r.Form.Get("stderr"))
job.Setenv("timestamps", r.Form.Get("timestamps"))
job.Stdout.Add(outStream)
job.Stderr.Set(errStream)
if err := job.Run(); err != nil {
fmt.Fprintf(outStream, "Error: %s\n", err)
logsJob.Stdout.Add(outStream)
logsJob.Stderr.Set(errStream)
if err := logsJob.Run(); err != nil {
fmt.Fprintf(outStream, "Error running logs job: %s\n", err)
}
return nil
}
@@ -393,12 +433,19 @@ func postCommit(eng *engine.Engine, version version.Version, w http.ResponseWrit
return err
}
var (
config engine.Env
env engine.Env
job = eng.Job("commit", r.Form.Get("container"))
config engine.Env
env engine.Env
job = eng.Job("commit", r.Form.Get("container"))
stdoutBuffer = bytes.NewBuffer(nil)
)
if err := config.Decode(r.Body); err != nil {
utils.Errorf("%s", err)
log.Errorf("%s", err)
}
if r.FormValue("pause") == "" && version.GreaterThanOrEqualTo("1.13") {
job.Setenv("pause", "1")
} else {
job.Setenv("pause", r.FormValue("pause"))
}
job.Setenv("repo", r.Form.Get("repo"))
@@ -407,12 +454,11 @@ func postCommit(eng *engine.Engine, version version.Version, w http.ResponseWrit
job.Setenv("comment", r.Form.Get("comment"))
job.SetenvSubEnv("config", &config)
var id string
job.Stdout.AddString(&id)
job.Stdout.Add(stdoutBuffer)
if err := job.Run(); err != nil {
return err
}
env.Set("Id", id)
env.Set("Id", engine.Tail(stdoutBuffer, 1))
return writeJSON(w, http.StatusCreated, env)
}
@@ -424,6 +470,7 @@ func postImagesCreate(eng *engine.Engine, version version.Version, w http.Respon
var (
image = r.Form.Get("fromImage")
repo = r.Form.Get("repo")
tag = r.Form.Get("tag")
job *engine.Job
)
@@ -438,18 +485,24 @@ func postImagesCreate(eng *engine.Engine, version version.Version, w http.Respon
}
}
if image != "" { //pull
if tag == "" {
image, tag = parsers.ParseRepositoryTag(image)
}
metaHeaders := map[string][]string{}
for k, v := range r.Header {
if strings.HasPrefix(k, "X-Meta-") {
metaHeaders[k] = v
}
}
job = eng.Job("pull", r.Form.Get("fromImage"), tag)
job = eng.Job("pull", image, tag)
job.SetenvBool("parallel", version.GreaterThan("1.3"))
job.SetenvJson("metaHeaders", metaHeaders)
job.SetenvJson("authConfig", authConfig)
} else { //import
job = eng.Job("import", r.Form.Get("fromSrc"), r.Form.Get("repo"), tag)
if tag == "" {
repo, tag = parsers.ParseRepositoryTag(repo)
}
job = eng.Job("import", r.Form.Get("fromSrc"), repo, tag)
job.Stdin.Add(r.Body)
}
@@ -502,32 +555,6 @@ func getImagesSearch(eng *engine.Engine, version version.Version, w http.Respons
return job.Run()
}
// FIXME: 'insert' is deprecated as of 0.10, and should be removed in a future version.
func postImagesInsert(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
job := eng.Job("insert", vars["name"], r.Form.Get("url"), r.Form.Get("path"))
if version.GreaterThan("1.0") {
job.SetenvBool("json", true)
streamJSON(job, w, false)
} else {
job.Stdout.Add(w)
}
if err := job.Run(); err != nil {
if !job.Stdout.Used() {
return err
}
sf := utils.NewStreamFormatter(version.GreaterThan("1.0"))
w.Write(sf.FormatError(err))
}
return nil
}
func postImagesPush(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
@@ -603,17 +630,17 @@ func postContainersCreate(eng *engine.Engine, version version.Version, w http.Re
return nil
}
var (
out engine.Env
job = eng.Job("create", r.Form.Get("name"))
outWarnings []string
outId string
warnings = bytes.NewBuffer(nil)
out engine.Env
job = eng.Job("create", r.Form.Get("name"))
outWarnings []string
stdoutBuffer = bytes.NewBuffer(nil)
warnings = bytes.NewBuffer(nil)
)
if err := job.DecodeEnv(r.Body); err != nil {
return err
}
// Read container ID from the first line of stdout
job.Stdout.AddString(&outId)
job.Stdout.Add(stdoutBuffer)
// Read warnings from stderr
job.Stderr.Add(warnings)
if err := job.Run(); err != nil {
@@ -624,7 +651,7 @@ func postContainersCreate(eng *engine.Engine, version version.Version, w http.Re
for scanner.Scan() {
outWarnings = append(outWarnings, scanner.Text())
}
out.Set("Id", outId)
out.Set("Id", engine.Tail(stdoutBuffer, 1))
out.SetList("Warnings", outWarnings)
return writeJSON(w, http.StatusCreated, out)
}
@@ -652,10 +679,12 @@ func deleteContainers(eng *engine.Engine, version version.Version, w http.Respon
if vars == nil {
return fmt.Errorf("Missing parameter")
}
job := eng.Job("container_delete", vars["name"])
job := eng.Job("delete", vars["name"])
job.Setenv("forceRemove", r.Form.Get("force"))
job.Setenv("removeVolume", r.Form.Get("v"))
job.Setenv("removeLink", r.Form.Get("link"))
job.Setenv("forceRemove", r.Form.Get("force"))
if err := job.Run(); err != nil {
return err
}
@@ -682,17 +711,27 @@ func postContainersStart(eng *engine.Engine, version version.Version, w http.Res
if vars == nil {
return fmt.Errorf("Missing parameter")
}
name := vars["name"]
job := eng.Job("start", name)
var (
name = vars["name"]
job = eng.Job("start", name)
)
// allow a nil body for backwards compatibility
if r.Body != nil {
if api.MatchesContentType(r.Header.Get("Content-Type"), "application/json") {
if err := job.DecodeEnv(r.Body); err != nil {
return err
}
if r.Body != nil && r.ContentLength > 0 {
if !api.MatchesContentType(r.Header.Get("Content-Type"), "application/json") {
return fmt.Errorf("Content-Type of application/json is required")
}
if err := job.DecodeEnv(r.Body); err != nil {
return err
}
}
if err := job.Run(); err != nil {
if err.Error() == "Container already started" {
w.WriteHeader(http.StatusNotModified)
return nil
}
return err
}
w.WriteHeader(http.StatusNoContent)
@@ -709,6 +748,10 @@ func postContainersStop(eng *engine.Engine, version version.Version, w http.Resp
job := eng.Job("stop", vars["name"])
job.Setenv("t", r.Form.Get("t"))
if err := job.Run(); err != nil {
if err.Error() == "Container already stopped" {
w.WriteHeader(http.StatusNotModified)
return nil
}
return err
}
w.WriteHeader(http.StatusNoContent)
@@ -720,20 +763,16 @@ func postContainersWait(eng *engine.Engine, version version.Version, w http.Resp
return fmt.Errorf("Missing parameter")
}
var (
env engine.Env
status string
job = eng.Job("wait", vars["name"])
env engine.Env
stdoutBuffer = bytes.NewBuffer(nil)
job = eng.Job("wait", vars["name"])
)
job.Stdout.AddString(&status)
job.Stdout.Add(stdoutBuffer)
if err := job.Run(); err != nil {
return err
}
// Parse a 16-bit encoded integer to map typical unix exit status.
_, err := strconv.ParseInt(status, 10, 16)
if err != nil {
return err
}
env.Set("StatusCode", status)
env.Set("StatusCode", engine.Tail(stdoutBuffer, 1))
return writeJSON(w, http.StatusOK, env)
}
@@ -759,7 +798,7 @@ func postContainersAttach(eng *engine.Engine, version version.Version, w http.Re
}
var (
job = eng.Job("inspect", vars["name"], "container")
job = eng.Job("container_inspect", vars["name"])
c, err = job.Stdout.AddEnv()
)
if err != nil {
@@ -809,7 +848,7 @@ func postContainersAttach(eng *engine.Engine, version version.Version, w http.Re
job.Stdout.Add(outStream)
job.Stderr.Set(errStream)
if err := job.Run(); err != nil {
fmt.Fprintf(outStream, "Error: %s\n", err)
fmt.Fprintf(outStream, "Error attaching: %s\n", err)
}
return nil
@@ -823,7 +862,7 @@ func wsContainersAttach(eng *engine.Engine, version version.Version, w http.Resp
return fmt.Errorf("Missing parameter")
}
if err := eng.Job("inspect", vars["name"], "container").Run(); err != nil {
if err := eng.Job("container_inspect", vars["name"]).Run(); err != nil {
return err
}
@@ -839,7 +878,7 @@ func wsContainersAttach(eng *engine.Engine, version version.Version, w http.Resp
job.Stdout.Add(ws)
job.Stderr.Set(ws)
if err := job.Run(); err != nil {
utils.Errorf("Error: %s", err)
log.Errorf("Error attaching websocket: %s", err)
}
})
h.ServeHTTP(w, r)
@@ -851,9 +890,11 @@ func getContainersByName(eng *engine.Engine, version version.Version, w http.Res
if vars == nil {
return fmt.Errorf("Missing parameter")
}
var job = eng.Job("inspect", vars["name"], "container")
var job = eng.Job("container_inspect", vars["name"])
if version.LessThan("1.12") {
job.SetenvBool("raw", true)
}
streamJSON(job, w, false)
job.SetenvBool("conflict", true) //conflict=true to detect conflict between containers and images in the job
return job.Run()
}
@@ -861,9 +902,11 @@ func getImagesByName(eng *engine.Engine, version version.Version, w http.Respons
if vars == nil {
return fmt.Errorf("Missing parameter")
}
var job = eng.Job("inspect", vars["name"], "image")
var job = eng.Job("image_inspect", vars["name"])
if version.LessThan("1.12") {
job.SetenvBool("raw", true)
}
streamJSON(job, w, false)
job.SetenvBool("conflict", true) //conflict=true to detect conflict between containers and images in the job
return job.Run()
}
@@ -872,6 +915,8 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
return fmt.Errorf("Multipart upload for build is no longer supported. Please upgrade your docker client.")
}
var (
authEncoded = r.Header.Get("X-Registry-Auth")
authConfig = &registry.AuthConfig{}
configFileEncoded = r.Header.Get("X-Registry-Config")
configFile = &registry.ConfigFile{}
job = eng.Job("build")
@@ -881,18 +926,12 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
// Both headers will be parsed and sent along to the daemon, but if a non-empty
// ConfigFile is present, any value provided as an AuthConfig directly will
// be overridden. See BuildFile::CmdFrom for details.
var (
authEncoded = r.Header.Get("X-Registry-Auth")
authConfig = &registry.AuthConfig{}
)
if version.LessThan("1.9") && authEncoded != "" {
authJson := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJson).Decode(authConfig); err != nil {
// for a pull it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting to be empty
authConfig = &registry.AuthConfig{}
} else {
configFile.Configs[authConfig.ServerAddress] = *authConfig
}
}
@@ -911,13 +950,22 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
} else {
job.Stdout.Add(utils.NewWriteFlusher(w))
}
if r.FormValue("forcerm") == "1" && version.GreaterThanOrEqualTo("1.12") {
job.Setenv("rm", "1")
} else if r.FormValue("rm") == "" && version.GreaterThanOrEqualTo("1.12") {
job.Setenv("rm", "1")
} else {
job.Setenv("rm", r.FormValue("rm"))
}
job.Stdin.Add(r.Body)
job.Setenv("remote", r.FormValue("remote"))
job.Setenv("t", r.FormValue("t"))
job.Setenv("q", r.FormValue("q"))
job.Setenv("nocache", r.FormValue("nocache"))
job.Setenv("rm", r.FormValue("rm"))
job.SetenvJson("auth", configFile)
job.Setenv("forcerm", r.FormValue("forcerm"))
job.SetenvJson("authConfig", authConfig)
job.SetenvJson("configFile", configFile)
if err := job.Run(); err != nil {
if !job.Stdout.Used() {
@@ -957,7 +1005,7 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
job := eng.Job("container_copy", vars["name"], copyData.Get("Resource"))
job.Stdout.Add(w)
if err := job.Run(); err != nil {
utils.Errorf("%s", err.Error())
log.Errorf("%s", err.Error())
if strings.Contains(err.Error(), "No such container") {
w.WriteHeader(http.StatusNotFound)
} else if strings.Contains(err.Error(), "no such file or directory") {
@@ -985,16 +1033,16 @@ func ping(eng *engine.Engine, version version.Version, w http.ResponseWriter, r
func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, localRoute string, handlerFunc HttpApiFunc, enableCors bool, dockerVersion version.Version) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// log the request
utils.Debugf("Calling %s %s", localMethod, localRoute)
log.Debugf("Calling %s %s", localMethod, localRoute)
if logging {
log.Println(r.Method, r.RequestURI)
log.Infof("%s %s", r.Method, r.RequestURI)
}
if strings.Contains(r.Header.Get("User-Agent"), "Docker-Client/") {
userAgent := strings.Split(r.Header.Get("User-Agent"), "/")
if len(userAgent) == 2 && !dockerVersion.Equal(version.Version(userAgent[1])) {
utils.Debugf("Warning: client and server don't have the same version (client: %s, server: %s)", userAgent[1], dockerVersion)
log.Debugf("Warning: client and server don't have the same version (client: %s, server: %s)", userAgent[1], dockerVersion)
}
}
version := version.Version(mux.Vars(r)["version"])
@@ -1011,7 +1059,7 @@ func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, local
}
if err := handlerFunc(eng, version, w, r, mux.Vars(r)); err != nil {
utils.Errorf("Error: %s", err)
log.Errorf("Handler for %s %s returned error: %s", localMethod, localRoute, err)
httpError(w, err)
}
}
@@ -1074,12 +1122,13 @@ func createRouter(eng *engine.Engine, logging, enableCors bool, dockerVersion st
"/commit": postCommit,
"/build": postBuild,
"/images/create": postImagesCreate,
"/images/{name:.*}/insert": postImagesInsert,
"/images/load": postImagesLoad,
"/images/{name:.*}/push": postImagesPush,
"/images/{name:.*}/tag": postImagesTag,
"/containers/create": postContainersCreate,
"/containers/{name:.*}/kill": postContainersKill,
"/containers/{name:.*}/pause": postContainersPause,
"/containers/{name:.*}/unpause": postContainersUnpause,
"/containers/{name:.*}/restart": postContainersRestart,
"/containers/{name:.*}/start": postContainersStart,
"/containers/{name:.*}/stop": postContainersStop,
@@ -1099,7 +1148,7 @@ func createRouter(eng *engine.Engine, logging, enableCors bool, dockerVersion st
for method, routes := range m {
for route, fct := range routes {
utils.Debugf("Registering %s, %s", method, route)
log.Debugf("Registering %s, %s", method, route)
// NOTE: scope issue, make sure the variables are local and won't be changed
localRoute := route
localFct := fct
@@ -1146,7 +1195,7 @@ func ServeFd(addr string, handle http.Handler) error {
chErrors := make(chan error, len(ls))
// We don't want to start serving on these sockets until the
// "initserver" job has completed. Otherwise required handlers
// daemon is initialized and installed. Otherwise required handlers
// won't be ready.
<-activationLock
@@ -1189,13 +1238,14 @@ func changeGroup(addr string, nameOrGid string) error {
return err
}
utils.Debugf("%s group found. gid: %d", nameOrGid, gid)
log.Debugf("%s group found. gid: %d", nameOrGid, gid)
return os.Chown(addr, 0, gid)
}
// ListenAndServe sets up the required http.Server and gets it listening for
// each addr passed in and does protocol specific checking.
func ListenAndServe(proto, addr string, job *engine.Job) error {
var l net.Listener
r, err := createRouter(job.Eng, job.GetenvBool("Logging"), job.GetenvBool("EnableCors"), job.Getenv("Version"))
if err != nil {
return err
@@ -1211,7 +1261,20 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
}
}
l, err := listenbuffer.NewListenBuffer(proto, addr, activationLock)
var oldmask int
if proto == "unix" {
oldmask = syscall.Umask(0777)
}
if job.GetenvBool("BufferRequests") {
l, err = listenbuffer.NewListenBuffer(proto, addr, activationLock)
} else {
l, err = net.Listen(proto, addr)
}
if proto == "unix" {
syscall.Umask(oldmask)
}
if err != nil {
return err
}
@@ -1246,23 +1309,23 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
switch proto {
case "tcp":
if !strings.HasPrefix(addr, "127.0.0.1") && !job.GetenvBool("TlsVerify") {
log.Println("/!\\ DON'T BIND ON ANOTHER IP ADDRESS THAN 127.0.0.1 IF YOU DON'T KNOW WHAT YOU'RE DOING /!\\")
log.Infof("/!\\ DON'T BIND ON ANOTHER IP ADDRESS THAN 127.0.0.1 IF YOU DON'T KNOW WHAT YOU'RE DOING /!\\")
}
case "unix":
if err := os.Chmod(addr, 0660); err != nil {
return err
}
socketGroup := job.Getenv("SocketGroup")
if socketGroup != "" {
if err := changeGroup(addr, socketGroup); err != nil {
if socketGroup == "docker" {
// if the user hasn't explicitly specified the group ownership, don't fail on errors.
utils.Debugf("Warning: could not chgrp %s to docker: %s", addr, err.Error())
log.Debugf("Warning: could not chgrp %s to docker: %s", addr, err.Error())
} else {
return err
}
}
}
if err := os.Chmod(addr, 0660); err != nil {
return err
}
default:
return fmt.Errorf("Invalid protocol format.")
}
@@ -1283,17 +1346,13 @@ func ServeApi(job *engine.Job) engine.Status {
)
activationLock = make(chan struct{})
if err := job.Eng.Register("acceptconnections", AcceptConnections); err != nil {
return job.Error(err)
}
for _, protoAddr := range protoAddrs {
protoAddrParts := strings.SplitN(protoAddr, "://", 2)
if len(protoAddrParts) != 2 {
return job.Errorf("usage: %s PROTO://ADDR [PROTO://ADDR ...]", job.Name)
}
go func() {
log.Printf("Listening for HTTP on %s (%s)\n", protoAddrParts[0], protoAddrParts[1])
log.Infof("Listening for HTTP on %s (%s)", protoAddrParts[0], protoAddrParts[1])
chErrors <- ListenAndServe(protoAddrParts[0], protoAddrParts[1], job)
}()
}
@@ -1313,7 +1372,9 @@ func AcceptConnections(job *engine.Job) engine.Status {
go systemd.SdNotify("READY=1")
// close the lock so the listeners start accepting connections
close(activationLock)
if activationLock != nil {
close(activationLock)
}
return engine.StatusOK
}
+410 -3
View File
@@ -4,12 +4,16 @@ import (
"bytes"
"encoding/json"
"fmt"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/engine"
"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) {
@@ -109,18 +113,378 @@ func TestGetInfo(t *testing.T) {
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("delete", 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, api.APIVERSION, r, req); err != nil {
if err := ServeRequest(eng, version, r, req); err != nil {
t.Fatal(err)
}
return r
@@ -146,3 +510,46 @@ func toJson(data interface{}, t *testing.T) io.Reader {
}
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,
}
+2 -1
View File
@@ -1 +1,2 @@
Michael Crosby <michael@crosbymichael.com> (@crosbymichael)
Cristian Staretu <cristian.staretu@gmail.com> (@unclejack)
Tibor Vass <teabee89@gmail.com> (@tiborvass)
+3
View File
@@ -0,0 +1,3 @@
This code provides helper functions for dealing with archive files.
**TODO**: Move this to either `pkg` or (if not possible) to `utils`.
+106 -66
View File
@@ -1,14 +1,12 @@
package archive
import (
"bufio"
"bytes"
"compress/bzip2"
"compress/gzip"
"errors"
"fmt"
"github.com/dotcloud/docker/pkg/system"
"github.com/dotcloud/docker/utils"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io"
"io/ioutil"
"os"
@@ -17,6 +15,12 @@ import (
"path/filepath"
"strings"
"syscall"
"github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/system"
"github.com/docker/docker/utils"
)
type (
@@ -25,7 +29,9 @@ type (
Compression int
TarOptions struct {
Includes []string
Excludes []string
Compression Compression
NoLchown bool
}
)
@@ -40,27 +46,27 @@ const (
Xz
)
func IsArchive(header []byte) bool {
compression := DetectCompression(header)
if compression != Uncompressed {
return true
}
r := tar.NewReader(bytes.NewBuffer(header))
_, err := r.Next()
return err == nil
}
func DetectCompression(source []byte) Compression {
sourceLen := len(source)
for compression, m := range map[Compression][]byte{
Bzip2: {0x42, 0x5A, 0x68},
Gzip: {0x1F, 0x8B, 0x08},
Xz: {0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00},
} {
fail := false
if len(m) > sourceLen {
utils.Debugf("Len too short")
if len(source) < len(m) {
log.Debugf("Len too short")
continue
}
i := 0
for _, b := range m {
if b != source[i] {
fail = true
break
}
i++
}
if !fail {
if bytes.Compare(m, source[:len(m)]) == 0 {
return compression
}
}
@@ -74,31 +80,24 @@ func xzDecompress(archive io.Reader) (io.ReadCloser, error) {
}
func DecompressStream(archive io.Reader) (io.ReadCloser, error) {
buf := make([]byte, 10)
totalN := 0
for totalN < 10 {
n, err := archive.Read(buf[totalN:])
if err != nil {
if err == io.EOF {
return nil, fmt.Errorf("Tarball too short")
}
return nil, err
}
totalN += n
utils.Debugf("[tar autodetect] n: %d", n)
buf := bufio.NewReader(archive)
bs, err := buf.Peek(10)
if err != nil {
return nil, err
}
compression := DetectCompression(buf)
wrap := io.MultiReader(bytes.NewReader(buf), archive)
log.Debugf("[tar autodetect] n: %v", bs)
compression := DetectCompression(bs)
switch compression {
case Uncompressed:
return ioutil.NopCloser(wrap), nil
return ioutil.NopCloser(buf), nil
case Gzip:
return gzip.NewReader(wrap)
return gzip.NewReader(buf)
case Bzip2:
return ioutil.NopCloser(bzip2.NewReader(wrap)), nil
return ioutil.NopCloser(bzip2.NewReader(buf)), nil
case Xz:
return xzDecompress(wrap)
return xzDecompress(buf)
default:
return nil, fmt.Errorf("Unsupported compression format %s", (&compression).Extension())
}
@@ -134,7 +133,7 @@ func (compression *Compression) Extension() string {
return ""
}
func addTarFile(path, name string, tw *tar.Writer) error {
func addTarFile(path, name string, tw *tar.Writer, twBuf *bufio.Writer) error {
fi, err := os.Lstat(path)
if err != nil {
return err
@@ -180,21 +179,28 @@ func addTarFile(path, name string, tw *tar.Writer) error {
}
if hdr.Typeflag == tar.TypeReg {
if file, err := os.Open(path); err != nil {
file, err := os.Open(path)
if err != nil {
return err
} else {
_, err := io.Copy(tw, file)
if err != nil {
return err
}
file.Close()
}
twBuf.Reset(tw)
_, err = io.Copy(twBuf, file)
file.Close()
if err != nil {
return err
}
err = twBuf.Flush()
if err != nil {
return err
}
twBuf.Reset(nil)
}
return nil
}
func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader) error {
func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, Lchown bool) error {
// hdr.Mode is in linux format, which we can use for sycalls,
// but for os.Foo() calls we need the mode converted to os.FileMode,
// so use hdrInfo.Mode() (they differ for e.g. setuid bits)
@@ -248,14 +254,14 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader) e
}
case tar.TypeXGlobalHeader:
utils.Debugf("PAX Global Extended Headers found and ignored")
log.Debugf("PAX Global Extended Headers found and ignored")
return nil
default:
return fmt.Errorf("Unhandled tar header type %d\n", hdr.Typeflag)
}
if err := os.Lchown(path, hdr.Uid, hdr.Gid); err != nil {
if err := os.Lchown(path, hdr.Uid, hdr.Gid); err != nil && Lchown {
return err
}
@@ -276,11 +282,11 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader) e
ts := []syscall.Timespec{timeToTimespec(hdr.AccessTime), timeToTimespec(hdr.ModTime)}
// syscall.UtimesNano doesn't support a NOFOLLOW flag atm, and
if hdr.Typeflag != tar.TypeSymlink {
if err := system.UtimesNano(path, ts); err != nil {
if err := system.UtimesNano(path, ts); err != nil && err != system.ErrNotSupportedPlatform {
return err
}
} else {
if err := system.LUtimesNano(path, ts); err != nil {
if err := system.LUtimesNano(path, ts); err != nil && err != system.ErrNotSupportedPlatform {
return err
}
}
@@ -290,7 +296,7 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader) e
// Tar creates an archive from the directory at `path`, and returns it as a
// stream of bytes.
func Tar(path string, compression Compression) (io.ReadCloser, error) {
return TarFilter(path, &TarOptions{Compression: compression})
return TarWithOptions(path, &TarOptions{Compression: compression})
}
func escapeName(name string) string {
@@ -309,9 +315,9 @@ func escapeName(name string) string {
return string(escaped)
}
// Tar creates an archive from the directory at `path`, only including files whose relative
// paths are included in `filter`. If `filter` is nil, then all files are included.
func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
// TarWithOptions creates an archive from the directory at `path`, only including files whose relative
// paths are included in `options.Includes` (if non-nil) or not in `options.Excludes`.
func TarWithOptions(srcPath string, options *TarOptions) (io.ReadCloser, error) {
pipeReader, pipeWriter := io.Pipe()
compressWriter, err := CompressStream(pipeWriter, options.Compression)
@@ -331,10 +337,12 @@ func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
options.Includes = []string{"."}
}
twBuf := bufio.NewWriterSize(nil, twBufSize)
for _, include := range options.Includes {
filepath.Walk(filepath.Join(srcPath, include), func(filePath string, f os.FileInfo, err error) error {
if err != nil {
utils.Debugf("Tar: Can't stat file %s to tar: %s\n", srcPath, err)
log.Debugf("Tar: Can't stat file %s to tar: %s", srcPath, err)
return nil
}
@@ -343,8 +351,21 @@ func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
return nil
}
if err := addTarFile(filePath, relFilePath, tw); err != nil {
utils.Debugf("Can't add file %s to tar: %s\n", srcPath, err)
skip, err := utils.Matches(relFilePath, options.Excludes)
if err != nil {
log.Debugf("Error matching %s", relFilePath, err)
return err
}
if skip {
if f.IsDir() {
return filepath.SkipDir
}
return nil
}
if err := addTarFile(filePath, relFilePath, tw, twBuf); err != nil {
log.Debugf("Can't add file %s to tar: %s", srcPath, err)
}
return nil
})
@@ -352,13 +373,13 @@ func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
// Make sure to check the error on Close.
if err := tw.Close(); err != nil {
utils.Debugf("Can't close tar writer: %s\n", err)
log.Debugf("Can't close tar writer: %s", err)
}
if err := compressWriter.Close(); err != nil {
utils.Debugf("Can't close compress writer: %s\n", err)
log.Debugf("Can't close compress writer: %s", err)
}
if err := pipeWriter.Close(); err != nil {
utils.Debugf("Can't close pipe writer: %s\n", err)
log.Debugf("Can't close pipe writer: %s", err)
}
}()
@@ -371,10 +392,18 @@ func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
// identity (uncompressed), gzip, bzip2, xz.
// FIXME: specify behavior when target path exists vs. doesn't exist.
func Untar(archive io.Reader, dest string, options *TarOptions) error {
if options == nil {
options = &TarOptions{}
}
if archive == nil {
return fmt.Errorf("Empty archive")
}
if options.Excludes == nil {
options.Excludes = []string{}
}
decompressedArchive, err := DecompressStream(archive)
if err != nil {
return err
@@ -382,10 +411,12 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
defer decompressedArchive.Close()
tr := tar.NewReader(decompressedArchive)
trBuf := bufio.NewReaderSize(nil, trBufSize)
var dirs []*tar.Header
// Iterate through the files in the archive.
loop:
for {
hdr, err := tr.Next()
if err == io.EOF {
@@ -399,6 +430,12 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
// Normalize name, for safety and for a simple is-root check
hdr.Name = filepath.Clean(hdr.Name)
for _, exclude := range options.Excludes {
if strings.HasPrefix(hdr.Name, exclude) {
continue loop
}
}
if !strings.HasSuffix(hdr.Name, "/") {
// Not the root directory, ensure that the parent directory exists
parent := filepath.Dir(hdr.Name)
@@ -418,14 +455,17 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
// the layer is also a directory. Then we want to merge them (i.e.
// just apply the metadata from the layer).
if fi, err := os.Lstat(path); err == nil {
if fi.IsDir() && hdr.Name == "." {
continue
}
if !(fi.IsDir() && hdr.Typeflag == tar.TypeDir) {
if err := os.RemoveAll(path); err != nil {
return err
}
}
}
if err := createTarFile(path, dest, hdr, tr); err != nil {
trBuf.Reset(tr)
if err := createTarFile(path, dest, hdr, trBuf, !options.NoLchown); err != nil {
return err
}
@@ -451,8 +491,8 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
// the output of one piped into the other. If either Tar or Untar fails,
// TarUntar aborts and returns the error.
func TarUntar(src string, dst string) error {
utils.Debugf("TarUntar(%s %s)", src, dst)
archive, err := TarFilter(src, &TarOptions{Compression: Uncompressed})
log.Debugf("TarUntar(%s %s)", src, dst)
archive, err := TarWithOptions(src, &TarOptions{Compression: Uncompressed})
if err != nil {
return err
}
@@ -488,11 +528,11 @@ func CopyWithTar(src, dst string) error {
return CopyFileWithTar(src, dst)
}
// Create dst, copy src's content into it
utils.Debugf("Creating dest directory: %s", dst)
log.Debugf("Creating dest directory: %s", dst)
if err := os.MkdirAll(dst, 0755); err != nil && !os.IsExist(err) {
return err
}
utils.Debugf("Calling TarUntar(%s, %s)", src, dst)
log.Debugf("Calling TarUntar(%s, %s)", src, dst)
return TarUntar(src, dst)
}
@@ -503,7 +543,7 @@ func CopyWithTar(src, dst string) error {
// If `dst` ends with a trailing slash '/', the final destination path
// will be `dst/base(src)`.
func CopyFileWithTar(src, dst string) (err error) {
utils.Debugf("CopyFileWithTar(%s, %s)", src, dst)
log.Debugf("CopyFileWithTar(%s, %s)", src, dst)
srcSt, err := os.Stat(src)
if err != nil {
return err
@@ -530,19 +570,19 @@ func CopyFileWithTar(src, dst string) (err error) {
}
defer srcF.Close()
tw := tar.NewWriter(w)
hdr, err := tar.FileInfoHeader(srcSt, "")
if err != nil {
return err
}
hdr.Name = filepath.Base(dst)
tw := tar.NewWriter(w)
defer tw.Close()
if err := tw.WriteHeader(hdr); err != nil {
return err
}
if _, err := io.Copy(tw, srcF); err != nil {
return err
}
tw.Close()
return nil
})
defer func() {
+125 -20
View File
@@ -3,7 +3,6 @@ package archive
import (
"bytes"
"fmt"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io"
"io/ioutil"
"os"
@@ -11,6 +10,8 @@ import (
"path"
"testing"
"time"
"github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
)
func TestCmdStreamLargeStderr(t *testing.T) {
@@ -62,8 +63,8 @@ func TestCmdStreamGood(t *testing.T) {
}
}
func tarUntar(t *testing.T, origin string, compression Compression) error {
archive, err := Tar(origin, compression)
func tarUntar(t *testing.T, origin string, options *TarOptions) ([]Change, error) {
archive, err := TarWithOptions(origin, options)
if err != nil {
t.Fatal(err)
}
@@ -71,37 +72,29 @@ func tarUntar(t *testing.T, origin string, compression Compression) error {
buf := make([]byte, 10)
if _, err := archive.Read(buf); err != nil {
return err
return nil, err
}
wrap := io.MultiReader(bytes.NewReader(buf), archive)
detectedCompression := DetectCompression(buf)
compression := options.Compression
if detectedCompression.Extension() != compression.Extension() {
return fmt.Errorf("Wrong compression detected. Actual compression: %s, found %s", compression.Extension(), detectedCompression.Extension())
return nil, fmt.Errorf("Wrong compression detected. Actual compression: %s, found %s", compression.Extension(), detectedCompression.Extension())
}
tmp, err := ioutil.TempDir("", "docker-test-untar")
if err != nil {
return err
return nil, err
}
defer os.RemoveAll(tmp)
if err := Untar(wrap, tmp, nil); err != nil {
return err
return nil, err
}
if _, err := os.Stat(tmp); err != nil {
return err
return nil, err
}
changes, err := ChangesDirs(origin, tmp)
if err != nil {
return err
}
if len(changes) != 0 {
t.Fatalf("Unexpected differences after tarUntar: %v", changes)
}
return nil
return ChangesDirs(origin, tmp)
}
func TestTarUntar(t *testing.T) {
@@ -116,14 +109,58 @@ func TestTarUntar(t *testing.T) {
if err := ioutil.WriteFile(path.Join(origin, "2"), []byte("welcome!"), 0700); err != nil {
t.Fatal(err)
}
if err := ioutil.WriteFile(path.Join(origin, "3"), []byte("will be ignored"), 0700); err != nil {
t.Fatal(err)
}
for _, c := range []Compression{
Uncompressed,
Gzip,
} {
if err := tarUntar(t, origin, c); err != nil {
changes, err := tarUntar(t, origin, &TarOptions{
Compression: c,
Excludes: []string{"3"},
})
if err != nil {
t.Fatalf("Error tar/untar for compression %s: %s", c.Extension(), err)
}
if len(changes) != 1 || changes[0].Path != "/3" {
t.Fatalf("Unexpected differences after tarUntar: %v", changes)
}
}
}
func TestTarWithOptions(t *testing.T) {
origin, err := ioutil.TempDir("", "docker-test-untar-origin")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(origin)
if err := ioutil.WriteFile(path.Join(origin, "1"), []byte("hello world"), 0700); err != nil {
t.Fatal(err)
}
if err := ioutil.WriteFile(path.Join(origin, "2"), []byte("welcome!"), 0700); err != nil {
t.Fatal(err)
}
cases := []struct {
opts *TarOptions
numChanges int
}{
{&TarOptions{Includes: []string{"1"}}, 1},
{&TarOptions{Excludes: []string{"2"}}, 1},
}
for _, testCase := range cases {
changes, err := tarUntar(t, origin, testCase.opts)
if err != nil {
t.Fatalf("Error tar/untar when testing inclusion/exclusion: %s", err)
}
if len(changes) != testCase.numChanges {
t.Errorf("Expected %d changes, got %d for %+v:",
testCase.numChanges, len(changes), testCase.opts)
}
}
}
@@ -132,8 +169,76 @@ func TestTarUntar(t *testing.T) {
// Failing prevents the archives from being uncompressed during ADD
func TestTypeXGlobalHeaderDoesNotFail(t *testing.T) {
hdr := tar.Header{Typeflag: tar.TypeXGlobalHeader}
err := createTarFile("pax_global_header", "some_dir", &hdr, nil)
err := createTarFile("pax_global_header", "some_dir", &hdr, nil, true)
if err != nil {
t.Fatal(err)
}
}
// Some tar have both GNU specific (huge uid) and Ustar specific (long name) things.
// Not supposed to happen (should use PAX instead of Ustar for long name) but it does and it should still work.
func TestUntarUstarGnuConflict(t *testing.T) {
f, err := os.Open("testdata/broken.tar")
if err != nil {
t.Fatal(err)
}
found := false
tr := tar.NewReader(f)
// Iterate through the files in the archive.
for {
hdr, err := tr.Next()
if err == io.EOF {
// end of tar archive
break
}
if err != nil {
t.Fatal(err)
}
if hdr.Name == "root/.cpanm/work/1395823785.24209/Plack-1.0030/blib/man3/Plack::Middleware::LighttpdScriptNameFix.3pm" {
found = true
break
}
}
if !found {
t.Fatalf("%s not found in the archive", "root/.cpanm/work/1395823785.24209/Plack-1.0030/blib/man3/Plack::Middleware::LighttpdScriptNameFix.3pm")
}
}
func prepareUntarSourceDirectory(numberOfFiles int, targetPath string) (int, error) {
fileData := []byte("fooo")
for n := 0; n < numberOfFiles; n++ {
fileName := fmt.Sprintf("file-%d", n)
if err := ioutil.WriteFile(path.Join(targetPath, fileName), fileData, 0700); err != nil {
return 0, err
}
}
totalSize := numberOfFiles * len(fileData)
return totalSize, nil
}
func BenchmarkTarUntar(b *testing.B) {
origin, err := ioutil.TempDir("", "docker-test-untar-origin")
if err != nil {
b.Fatal(err)
}
tempDir, err := ioutil.TempDir("", "docker-test-untar-destination")
if err != nil {
b.Fatal(err)
}
target := path.Join(tempDir, "dest")
n, err := prepareUntarSourceDirectory(100, origin)
if err != nil {
b.Fatal(err)
}
b.ResetTimer()
b.SetBytes(int64(n))
defer os.RemoveAll(origin)
defer os.RemoveAll(tempDir)
for n := 0; n < b.N; n++ {
err := TarUntar(origin, target)
if err != nil {
b.Fatal(err)
}
os.RemoveAll(target)
}
}
+32 -17
View File
@@ -1,17 +1,20 @@
package archive
import (
"bufio"
"bytes"
"fmt"
"github.com/dotcloud/docker/pkg/system"
"github.com/dotcloud/docker/utils"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io"
"os"
"path/filepath"
"strings"
"syscall"
"time"
"github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/system"
)
type ChangeType int
@@ -293,13 +296,23 @@ func collectFileInfo(sourceDir string) (*FileInfo, error) {
// Compare two directories and generate an array of Change objects describing the changes
func ChangesDirs(newDir, oldDir string) ([]Change, error) {
oldRoot, err := collectFileInfo(oldDir)
if err != nil {
return nil, err
}
newRoot, err := collectFileInfo(newDir)
if err != nil {
return nil, err
var (
oldRoot, newRoot *FileInfo
err1, err2 error
errs = make(chan error, 2)
)
go func() {
oldRoot, err1 = collectFileInfo(oldDir)
errs <- err1
}()
go func() {
newRoot, err2 = collectFileInfo(newDir)
errs <- err2
}()
for i := 0; i < 2; i++ {
if err := <-errs; err != nil {
return nil, err
}
}
return newRoot.Changes(oldRoot), nil
@@ -332,6 +345,7 @@ func ExportChanges(dir string, changes []Change) (Archive, error) {
tw := tar.NewWriter(writer)
go func() {
twBuf := bufio.NewWriterSize(nil, twBufSize)
// In general we log errors here but ignore them because
// during e.g. a diff operation the container can continue
// mutating the filesystem and we can see transient errors
@@ -341,27 +355,28 @@ func ExportChanges(dir string, changes []Change) (Archive, error) {
whiteOutDir := filepath.Dir(change.Path)
whiteOutBase := filepath.Base(change.Path)
whiteOut := filepath.Join(whiteOutDir, ".wh."+whiteOutBase)
timestamp := time.Now()
hdr := &tar.Header{
Name: whiteOut[1:],
Size: 0,
ModTime: time.Now(),
AccessTime: time.Now(),
ChangeTime: time.Now(),
ModTime: timestamp,
AccessTime: timestamp,
ChangeTime: timestamp,
}
if err := tw.WriteHeader(hdr); err != nil {
utils.Debugf("Can't write whiteout header: %s\n", err)
log.Debugf("Can't write whiteout header: %s", err)
}
} else {
path := filepath.Join(dir, change.Path)
if err := addTarFile(path, change.Path[1:], tw); err != nil {
utils.Debugf("Can't add file %s to tar: %s\n", path, err)
if err := addTarFile(path, change.Path[1:], tw, twBuf); err != nil {
log.Debugf("Can't add file %s to tar: %s", path, err)
}
}
}
// Make sure to check the error on Close.
if err := tw.Close(); err != nil {
utils.Debugf("Can't close layer: %s\n", err)
log.Debugf("Can't close layer: %s", err)
}
writer.Close()
}()
+4
View File
@@ -0,0 +1,4 @@
package archive
const twBufSize = 32 * 1024
const trBufSize = 32 * 1024
+8 -14
View File
@@ -1,15 +1,16 @@
package archive
import (
"bufio"
"fmt"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"syscall"
"time"
"github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
)
// Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes.
@@ -18,15 +19,6 @@ import (
func mkdev(major int64, minor int64) uint32 {
return uint32(((minor & 0xfff00) << 12) | ((major & 0xfff) << 8) | (minor & 0xff))
}
func timeToTimespec(time time.Time) (ts syscall.Timespec) {
if time.IsZero() {
// Return UTIME_OMIT special value
ts.Sec = 0
ts.Nsec = ((1 << 30) - 2)
return
}
return syscall.NsecToTimespec(time.UnixNano())
}
// ApplyLayer parses a diff in the standard layer format from `layer`, and
// applies it to the directory `dest`.
@@ -41,6 +33,7 @@ func ApplyLayer(dest string, layer ArchiveReader) error {
}
tr := tar.NewReader(layer)
trBuf := bufio.NewReaderSize(nil, trBufSize)
var dirs []*tar.Header
@@ -89,7 +82,7 @@ func ApplyLayer(dest string, layer ArchiveReader) error {
}
defer os.RemoveAll(aufsTempdir)
}
if err := createTarFile(filepath.Join(aufsTempdir, basename), dest, hdr, tr); err != nil {
if err := createTarFile(filepath.Join(aufsTempdir, basename), dest, hdr, tr, true); err != nil {
return err
}
}
@@ -117,7 +110,8 @@ func ApplyLayer(dest string, layer ArchiveReader) error {
}
}
srcData := io.Reader(tr)
trBuf.Reset(tr)
srcData := io.Reader(trBuf)
srcHdr := hdr
// Hard links into /.wh..wh.plnk don't work, as we don't extract that directory, so
@@ -136,7 +130,7 @@ func ApplyLayer(dest string, layer ArchiveReader) error {
srcData = tmpFile
}
if err := createTarFile(path, dest, srcHdr, srcData); err != nil {
if err := createTarFile(path, dest, srcHdr, srcData, true); err != nil {
return err
}
BIN
View File
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
package archive
import (
"syscall"
"time"
)
func timeToTimespec(time time.Time) (ts syscall.Timespec) {
if time.IsZero() {
// Return UTIME_OMIT special value
ts.Sec = 0
ts.Nsec = ((1 << 30) - 2)
return
}
return syscall.NsecToTimespec(time.UnixNano())
}
+16
View File
@@ -0,0 +1,16 @@
// +build !linux
package archive
import (
"syscall"
"time"
)
func timeToTimespec(time time.Time) (ts syscall.Timespec) {
nsec := int64(0)
if !time.IsZero() {
nsec = time.UnixNano()
}
return syscall.NsecToTimespec(nsec)
}
+1 -1
View File
@@ -2,7 +2,7 @@ package archive
import (
"bytes"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
"io/ioutil"
)
+38 -9
View File
@@ -1,11 +1,16 @@
package builtins
import (
api "github.com/dotcloud/docker/api/server"
"github.com/dotcloud/docker/daemon/networkdriver/bridge"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/server"
"runtime"
"github.com/docker/docker/api"
apiserver "github.com/docker/docker/api/server"
"github.com/docker/docker/daemon/networkdriver/bridge"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/events"
"github.com/docker/docker/pkg/parsers/kernel"
"github.com/docker/docker/registry"
)
func Register(eng *engine.Engine) error {
@@ -15,12 +20,21 @@ func Register(eng *engine.Engine) error {
if err := remote(eng); err != nil {
return err
}
if err := events.New().Install(eng); err != nil {
return err
}
if err := eng.Register("version", dockerVersion); err != nil {
return err
}
return registry.NewService().Install(eng)
}
// remote: a RESTful api for cross-docker communication
func remote(eng *engine.Engine) error {
return eng.Register("serveapi", api.ServeApi)
if err := eng.Register("serveapi", apiserver.ServeApi); err != nil {
return err
}
return eng.Register("acceptconnections", apiserver.AcceptConnections)
}
// daemon: a default execution and storage backend for Docker on Linux,
@@ -39,8 +53,23 @@ func remote(eng *engine.Engine) error {
// These components should be broken off into plugins of their own.
//
func daemon(eng *engine.Engine) error {
if err := eng.Register("initserver", server.InitServer); err != nil {
return err
}
return eng.Register("init_networkdriver", bridge.InitDriver)
}
// builtins jobs independent of any subsystem
func dockerVersion(job *engine.Job) engine.Status {
v := &engine.Env{}
v.SetJson("Version", dockerversion.VERSION)
v.SetJson("ApiVersion", api.APIVERSION)
v.Set("GitCommit", dockerversion.GITCOMMIT)
v.Set("GoVersion", runtime.Version())
v.Set("Os", runtime.GOOS)
v.Set("Arch", runtime.GOARCH)
if kernelVersion, err := kernel.GetKernelVersion(); err == nil {
v.Set("KernelVersion", kernelVersion.String())
}
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
}
+19 -2
View File
@@ -100,7 +100,7 @@ echo
echo 'Generally Necessary:'
echo -n '- '
cgroupSubsystemDir="$(awk '/[, ](cpu|cpuacct|cpuset|devices|freezer|memory)([, ]|$)/ && $8 == "cgroup" { print $5 }' /proc/$$/mountinfo | head -n1)"
cgroupSubsystemDir="$(awk '/[, ](cpu|cpuacct|cpuset|devices|freezer|memory)[, ]/ && $3 == "cgroup" { print $2 }' /proc/mounts | head -n1)"
cgroupDir="$(dirname "$cgroupSubsystemDir")"
if [ -d "$cgroupDir/cpu" -o -d "$cgroupDir/cpuacct" -o -d "$cgroupDir/cpuset" -o -d "$cgroupDir/devices" -o -d "$cgroupDir/freezer" -o -d "$cgroupDir/memory" ]; then
echo "$(wrap_good 'cgroup hierarchy' 'properly mounted') [$cgroupDir]"
@@ -113,10 +113,27 @@ else
echo " $(wrap_color '(see https://github.com/tianon/cgroupfs-mount)' yellow)"
fi
if [ "$(cat /sys/module/apparmor/parameters/enabled 2>/dev/null)" = 'Y' ]; then
echo -n '- '
if command -v apparmor_parser &> /dev/null; then
echo "$(wrap_good 'apparmor' 'enabled and tools installed')"
else
echo "$(wrap_bad 'apparmor' 'enabled, but apparmor_parser missing')"
echo -n ' '
if command -v apt-get &> /dev/null; then
echo "$(wrap_color '(use "apt-get install apparmor" to fix this)')"
elif command -v yum &> /dev/null; then
echo "$(wrap_color '(your best bet is "yum install apparmor-parser")')"
else
echo "$(wrap_color '(look for an "apparmor" package for your distribution)')"
fi
fi
fi
flags=(
NAMESPACES {NET,PID,IPC,UTS}_NS
DEVPTS_MULTIPLE_INSTANCES
CGROUPS CGROUP_DEVICE
CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED
MACVLAN VETH BRIDGE
NF_NAT_IPV4 IP_NF_TARGET_MASQUERADE
NETFILTER_XT_MATCH_{ADDRTYPE,CONNTRACK}
+50 -18
View File
@@ -156,7 +156,7 @@ _docker_build()
*)
local counter="$(__docker_pos_first_nonflag '-t|--tag')"
if [ $cword -eq $counter ]; then
_filedir
_filedir -d
fi
;;
esac
@@ -309,14 +309,6 @@ _docker_info()
return
}
_docker_insert()
{
local counter=$(__docker_pos_first_nonflag)
if [ $cword -eq $counter ]; then
__docker_image_repos_and_tags_and_ids
fi
}
_docker_inspect()
{
case "$prev" in
@@ -393,7 +385,7 @@ _docker_ps()
{
case "$prev" in
--since|--before)
__docker_containers_all
__docker_containers_all
;;
-n)
return
@@ -438,9 +430,7 @@ _docker_push()
{
local counter=$(__docker_pos_first_nonflag)
if [ $cword -eq $counter ]; then
__docker_image_repos
# TODO replace this with __docker_image_repos_and_tags
# see https://github.com/dotcloud/docker/issues/3411
__docker_image_repos_and_tags
fi
}
@@ -468,10 +458,21 @@ _docker_rm()
{
case "$cur" in
-*)
COMPREPLY=( $( compgen -W "-v --volumes -l --link" -- "$cur" ) )
COMPREPLY=( $( compgen -W "-f --force -l --link -v --volumes" -- "$cur" ) )
return
;;
*)
local force=
for arg in "${COMP_WORDS[@]}"; do
case "$arg" in
-f|--force)
__docker_containers_all
return
;;
esac
done
__docker_containers_stopped
return
;;
esac
}
@@ -484,21 +485,52 @@ _docker_rmi()
_docker_run()
{
case "$prev" in
--cidfile)
-a|--attach)
COMPREPLY=( $( compgen -W 'stdin stdout stderr' -- "$cur" ) )
return
;;
--cidfile|--env-file)
_filedir
return
;;
--volumes-from)
__docker_containers_all
return
;;
-v|--volume)
# TODO something magical with colons and _filedir ?
case "$cur" in
*:*)
# TODO somehow do _filedir for stuff inside the image, if it's already specified (which is also somewhat difficult to determine)
;;
'')
COMPREPLY=( $( compgen -W '/' -- "$cur" ) )
compopt -o nospace
;;
/*)
_filedir
compopt -o nospace
;;
esac
return
;;
-e|--env)
COMPREPLY=( $( compgen -e -- "$cur" ) )
compopt -o nospace
return
;;
--entrypoint|-h|--hostname|-m|--memory|-u|--user|-w|--workdir|-c|--cpu-shares|-n|--name|-a|--attach|--link|-p|--publish|--expose|--dns|--lxc-conf)
--link)
case "$cur" in
*:*)
;;
*)
__docker_containers_running
COMPREPLY=( $( compgen -W "${COMPREPLY[*]}" -S ':' ) )
compopt -o nospace
;;
esac
return
;;
--entrypoint|-h|--hostname|-m|--memory|-u|--user|-w|--workdir|-c|--cpu-shares|-n|--name|-p|--publish|--expose|--dns|--lxc-conf)
return
;;
*)
@@ -539,7 +571,7 @@ _docker_search()
case "$cur" in
-*)
COMPREPLY=( $( compgen -W "--no-trunc -t --trusted -s --stars" -- "$cur" ) )
COMPREPLY=( $( compgen -W "--no-trunc --automated -s --stars" -- "$cur" ) )
;;
*)
;;
+4 -8
View File
@@ -71,7 +71,7 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l sig-proxy -d
complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -a '(__fish_print_docker_containers running)' -d "Container"
# build
complete -c docker -f -n '__fish_docker_no_subcommand' -a build -d 'Build a container from a Dockerfile'
complete -c docker -f -n '__fish_docker_no_subcommand' -a build -d 'Build an image from a Dockerfile'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l no-cache -d 'Do not use cache when building the image'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s q -l quiet -d 'Suppress the verbose output generated by the containers'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l rm -d 'Remove intermediate containers after a successful build'
@@ -79,13 +79,13 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s t -l tag -d '
# commit
complete -c docker -f -n '__fish_docker_no_subcommand' -a commit -d "Create a new image from a container's changes"
complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s a -l author -d 'Author (eg. "John Hannibal Smith <hannibal@a-team.com>"'
complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s a -l author -d 'Author (e.g., "John Hannibal Smith <hannibal@a-team.com>"'
complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s m -l message -d 'Commit message'
complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -l run -d 'Config automatically applied when the image is run. (ex: -run=\'{"Cmd": ["cat", "/world"], "PortSpecs": ["22"]}\')'
complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -a '(__fish_print_docker_containers all)' -d "Container"
# cp
complete -c docker -f -n '__fish_docker_no_subcommand' -a cp -d 'Copy files/folders from the containers filesystem to the host path'
complete -c docker -f -n '__fish_docker_no_subcommand' -a cp -d "Copy files/folders from a container's filesystem to the host path"
# diff
complete -c docker -f -n '__fish_docker_no_subcommand' -a diff -d "Inspect changes on a container's filesystem"
@@ -120,10 +120,6 @@ complete -c docker -f -n '__fish_docker_no_subcommand' -a import -d 'Create a ne
# info
complete -c docker -f -n '__fish_docker_no_subcommand' -a info -d 'Display system-wide information'
# insert
complete -c docker -f -n '__fish_docker_no_subcommand' -a insert -d 'Insert a file in an image'
complete -c docker -A -f -n '__fish_seen_subcommand_from insert' -a '(__fish_print_docker_images)' -d "Image"
# inspect
complete -c docker -f -n '__fish_docker_no_subcommand' -a inspect -d 'Return low-level information on a container'
complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -s f -l format -d 'Format the output using the given go template.'
@@ -229,7 +225,7 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from save' -a '(__fish_print
complete -c docker -f -n '__fish_docker_no_subcommand' -a search -d 'Search for an image in the docker index'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l no-trunc -d "Don't truncate output"
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -s s -l stars -d 'Only displays with at least xxx stars'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -s t -l trusted -d 'Only show trusted builds'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l automated -d 'Only show automated builds'
# start
complete -c docker -f -n '__fish_docker_no_subcommand' -a start -d 'Start a stopped container'
Executable → Regular
+230 -62
View File
@@ -1,58 +1,118 @@
#compdef docker
#compdef docker
#
# zsh completion for docker (http://docker.io)
# zsh completion for docker (http://docker.com)
#
# version: 0.2.2
# author: Felix Riedel
# license: BSD License
# version: 0.3.0
# github: https://github.com/felixr/docker-zsh-completion
#
# contributers:
# - Felix Riedel
# - Vincent Bernat
#
# license:
#
# Copyright (c) 2013, Felix Riedel
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the <organization> nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
__parse_docker_list() {
sed -e '/^ID/d' -e 's/[ ]\{2,\}/|/g' -e 's/ \([hdwm]\)\(inutes\|ays\|ours\|eeks\)/\1/' | awk ' BEGIN {FS="|"} { printf("%s:%7s, %s\n", $1, $4, $2)}'
awk '
NR == 1 {
idx=1;i=0;f[i]=0
header=$0
while ( match(header, / ([A-Z]+|[A-Z]+ [A-Z]+)/) ) {
idx += RSTART+1
f[++i]=idx
header = substr($0,idx)
}
f[++i]=999
}
NR > 1 '"$1"' {
for(j=0;j<i;j++) {
x[j] = substr($0, f[j], f[j+1]-f[j]-1)
gsub(/[ ]+$/, "", x[j])
}
printf("%s:%7s, %s\n", x[0], x[3], x[1])
if (x[6] != "") {
split(x[6], names, /,/)
for (name in names) printf("%s:%7s, %s\n", names[name], x[3], x[1])
}
}
'| sed -e 's/ \([hdwm]\)\(inutes\|ays\|ours\|eeks\)/\1/'
}
__docker_stoppedcontainers() {
local expl
declare -a stoppedcontainers
stoppedcontainers=(${(f)"$(docker ps -a | grep --color=never 'Exit' | __parse_docker_list )"})
_describe -t containers-stopped "Stopped Containers" stoppedcontainers
declare -a stoppedcontainers
stoppedcontainers=(${(f)"$(_call_program commands docker ps -a | __parse_docker_list '&& / Exit/')"})
_describe -t containers-stopped "Stopped Containers" stoppedcontainers "$@"
}
__docker_runningcontainers() {
local expl
declare -a containers
declare -a containers
containers=(${(f)"$(docker ps | __parse_docker_list)"})
_describe -t containers-active "Running Containers" containers
containers=(${(f)"$(_call_program commands docker ps | __parse_docker_list)"})
_describe -t containers-active "Running Containers" containers "$@"
}
__docker_containers () {
__docker_stoppedcontainers
__docker_runningcontainers
__docker_stoppedcontainers "$@"
__docker_runningcontainers "$@"
}
__docker_images () {
local expl
declare -a images
images=(${(f)"$(docker images | awk '(NR > 1){printf("%s\\:%s\n", $1,$2)}')"})
images=($images ${(f)"$(docker images | awk '(NR > 1){printf("%s:%-15s in %s\n", $3,$2,$1)}')"})
images=(${(f)"$(_call_program commands docker images | awk '(NR > 1 && $1 != "<none>"){printf("%s", $1);if ($2 != "<none>") printf("\\:%s", $2); printf("\n")}')"})
images=($images ${(f)"$(_call_program commands docker images | awk '(NR > 1){printf("%s:%-15s in %s\n", $3,$2,$1)}')"})
_describe -t docker-images "Images" images
}
__docker_tags() {
local expl
declare -a tags
tags=(${(f)"$(docker images | awk '(NR>1){print $2}'| sort | uniq)"})
tags=(${(f)"$(_call_program commands docker images | awk '(NR>1){print $2}'| sort | uniq)"})
_describe -t docker-tags "tags" tags
}
__docker_repositories_with_tags() {
if compset -P '*:'; then
__docker_tags
else
__docker_repositories -qS ":"
fi
}
__docker_search() {
# declare -a dockersearch
local cache_policy
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
if [[ -z "$cache_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy
zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy
fi
local searchterm cachename
@@ -60,14 +120,14 @@ __docker_search() {
cachename=_docker-search-$searchterm
local expl
local -a result
local -a result
if ( [[ ${(P)+cachename} -eq 0 ]] || _cache_invalid ${cachename#_} ) \
&& ! _retrieve_cache ${cachename#_}; then
_message "Searching for ${searchterm}..."
result=(${(f)"$(docker search ${searchterm} | awk '(NR>2){print $1}')"})
result=(${(f)"$(_call_program commands docker search ${searchterm} | awk '(NR>2){print $1}')"})
_store_cache ${cachename#_} result
fi
_wanted dockersearch expl 'Available images' compadd -a result
fi
_wanted dockersearch expl 'Available images' compadd -a result
}
__docker_caching_policy()
@@ -81,8 +141,8 @@ __docker_caching_policy()
__docker_repositories () {
local expl
declare -a repos
repos=(${(f)"$(docker images | sed -e '1d' -e 's/[ ].*//' | sort | uniq)"})
_describe -t docker-repos "Repositories" repos
repos=(${(f)"$(_call_program commands docker images | sed -e '1d' -e 's/[ ].*//' | sort | uniq)"})
_describe -t docker-repos "Repositories" repos "$@"
}
__docker_commands () {
@@ -91,15 +151,15 @@ __docker_commands () {
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
if [[ -z "$cache_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy
zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy
fi
if ( [[ ${+_docker_subcommands} -eq 0 ]] || _cache_invalid docker_subcommands) \
&& ! _retrieve_cache docker_subcommands;
&& ! _retrieve_cache docker_subcommands;
then
_docker_subcommands=(${${(f)"$(_call_program commands
_docker_subcommands=(${${(f)"$(_call_program commands
docker 2>&1 | sed -e '1,6d' -e '/^[ ]*$/d' -e 's/[ ]*\([^ ]\+\)\s*\([^ ].*\)/\1:\2/' )"}})
_docker_subcommands=($_docker_subcommands 'help:Show help for a command')
_docker_subcommands=($_docker_subcommands 'help:Show help for a command')
_store_cache docker_subcommands _docker_subcommands
fi
_describe -t docker-commands "docker command" _docker_subcommands
@@ -108,36 +168,76 @@ __docker_commands () {
__docker_subcommand () {
local -a _command_args
case "$words[1]" in
(attach|wait)
_arguments ':containers:__docker_runningcontainers'
(attach)
_arguments \
'--no-stdin[Do not attach stdin]' \
'--sig-proxy[Proxify all received signal]' \
':containers:__docker_runningcontainers'
;;
(build)
_arguments \
'-t=-:repository:__docker_repositories' \
'--no-cache[Do not use cache when building the image]' \
'-q[Suppress verbose build output]' \
'--rm[Remove intermediate containers after a successful build]' \
'-t=-:repository:__docker_repositories_with_tags' \
':path or URL:_directories'
;;
(commit)
_arguments \
'--author=-[Author]:author: ' \
'-m=-[Commit message]:message: ' \
'--run=-[Configuration automatically applied when the image is run]:configuration: ' \
':container:__docker_containers' \
':repository:__docker_repositories' \
':tag: '
':repository:__docker_repositories_with_tags'
;;
(diff|export|logs)
(cp)
_arguments \
':container:->container' \
':hostpath:_files'
case $state in
(container)
if compset -P '*:'; then
_files
else
__docker_containers -qS ":"
fi
;;
esac
;;
(diff|export)
_arguments '*:containers:__docker_containers'
;;
(history)
_arguments '*:images:__docker_images'
_arguments \
'--no-trunc[Do not truncate output]' \
'-q[Only show numeric IDs]' \
'*:images:__docker_images'
;;
(images)
_arguments \
'-a[Show all images]' \
'--no-trunc[Do not truncate output]' \
'-q[Only show numeric IDs]' \
'--tree[Output graph in tree format]' \
'--viz[Output graph in graphviz format]' \
':repository:__docker_repositories'
;;
(inspect)
_arguments '*:containers:__docker_containers'
_arguments \
'--format=-[Format the output using the given go template]:template: ' \
'*:containers:__docker_containers'
;;
(history)
_arguments ':images:__docker_images'
(import)
_arguments \
':URL:(- http:// file://)' \
':repository:__docker_repositories_with_tags'
;;
(info)
;;
(import)
_arguments \
':URL:(- http:// file://)' \
':repository:__docker_repositories_with_tags'
;;
(insert)
_arguments '1:containers:__docker_containers' \
@@ -147,66 +247,127 @@ __docker_subcommand () {
(kill)
_arguments '*:containers:__docker_runningcontainers'
;;
(load)
;;
(login)
_arguments \
'-e=-[Email]:email: ' \
'-p=-[Password]:password: ' \
'-u=-[Username]:username: ' \
':server: '
;;
(logs)
_arguments \
'-f[Follow log output]' \
'*:containers:__docker_containers'
;;
(port)
_arguments '1:containers:__docker_runningcontainers'
_arguments \
'1:containers:__docker_runningcontainers' \
'2:port:_ports'
;;
(start)
_arguments '*:containers:__docker_stoppedcontainers'
_arguments \
'-a[Attach container'"'"'s stdout/stderr and forward all signals]' \
'-i[Attach container'"'"'s stding]' \
'*:containers:__docker_stoppedcontainers'
;;
(rm)
_arguments '-v[Remove the volumes associated to the container]' \
_arguments \
'--link[Remove the specified link and not the underlying container]' \
'-v[Remove the volumes associated to the container]' \
'*:containers:__docker_stoppedcontainers'
;;
(rmi)
_arguments '-v[Remove the volumes associated to the container]' \
_arguments \
'*:images:__docker_images'
;;
(top)
_arguments '1:containers:__docker_runningcontainers'
;;
(restart|stop)
_arguments '-t=-[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)' \
'*:containers:__docker_runningcontainers'
;;
(top)
_arguments ':containers:__docker_runningcontainers'
_arguments \
'1:containers:__docker_runningcontainers' \
'(-)*:: :->ps-arguments'
case $state in
(ps-arguments)
_ps
;;
esac
;;
(ps)
_arguments '-a[Show all containers. Only running containers are shown by default]' \
'-h[Show help]' \
'--before-id=-[Show only container created before Id, include non-running one]:containers:__docker_containers' \
'-n=-[Show n last created containers, include non-running one]:n:(1 5 10 25 50)'
_arguments \
'-a[Show all containers]' \
'--before=-[Show only container created before...]:containers:__docker_containers' \
'-l[Show only the latest created container]' \
'-n=-[Show n last created containers, include non-running one]:n:(1 5 10 25 50)' \
'--no-trunc[Do not truncate output]' \
'-q[Only show numeric IDs]' \
'-s[Display sizes]' \
'--since=-[Show only containers created since...]:containers:__docker_containers'
;;
(tag)
_arguments \
'-f[force]'\
':image:__docker_images'\
':repository:__docker_repositories' \
':tag:__docker_tags'
':repository:__docker_repositories_with_tags'
;;
(run)
_arguments \
'-a=-[Attach to stdin, stdout or stderr]:toggle:(true false)' \
'-c=-[CPU shares (relative weight)]:CPU shares: ' \
'-P[Publish all exposed ports to the host]' \
'-a[Attach to stdin, stdout or stderr]' \
'-c=-[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)' \
'--cidfile=-[Write the container ID to the file]:CID file:_files' \
'-d[Detached mode: leave the container running in the background]' \
'*--dns=[Set custom dns servers]:dns server: ' \
'*-e=[Set environment variables]:environment variable: ' \
'*--dns=-[Set custom dns servers]:dns server: ' \
'*-e=-[Set environment variables]:environment variable: ' \
'--entrypoint=-[Overwrite the default entrypoint of the image]:entry point: ' \
'*--expose=-[Expose a port from the container without publishing it]: ' \
'-h=-[Container host name]:hostname:_hosts' \
'-i[Keep stdin open even if not attached]' \
'--link=-[Add link to another container]:link:->link' \
'--lxc-conf=-[Add custom lxc options]:lxc options: ' \
'-m=-[Memory limit (in bytes)]:limit: ' \
'*-p=-[Expose a container''s port to the host]:port:_ports' \
'-t=-[Allocate a pseudo-tty]:toggle:(true false)' \
'--name=-[Container name]:name: ' \
'*-p=-[Expose a container'"'"'s port to the host]:port:_ports' \
'--privileged[Give extended privileges to this container]' \
'--rm[Remove intermediate containers when it exits]' \
'--sig-proxy[Proxify all received signal]' \
'-t[Allocate a pseudo-tty]' \
'-u=-[Username or UID]:user:_users' \
'*-v=-[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]:volume: '\
'--volumes-from=-[Mount volumes from the specified container]:volume: ' \
'-w=-[Working directory inside the container]:directory:_directories' \
'(-):images:__docker_images' \
'(-):command: _command_names -e' \
'*::arguments: _normal'
;;
case $state in
(link)
if compset -P '*:'; then
_wanted alias expl 'Alias' compadd -E ""
else
__docker_runningcontainers -qS ":"
fi
;;
esac
;;
(pull|search)
_arguments ':name:__docker_search'
;;
(push)
_arguments ':repository:__docker_repositories_with_tags'
;;
(save)
_arguments \
':images:__docker_images'
;;
(wait)
_arguments ':containers:__docker_runningcontainers'
;;
(help)
_arguments ':subcommand:__docker_commands'
;;
@@ -217,24 +378,31 @@ __docker_subcommand () {
}
_docker () {
# Support for subservices, which allows for `compdef _docker docker-shell=_docker_containers`.
# Based on /usr/share/zsh/functions/Completion/Unix/_git without support for `ret`.
if [[ $service != docker ]]; then
_call_function - _$service
return
fi
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
'-H=-[tcp://host:port to bind/connect to]:socket: ' \
'(-): :->command' \
'(-)*:: :->option-or-argument'
'(-)*:: :->option-or-argument'
if (( CURRENT == 1 )); then
fi
case $state in
case $state in
(command)
__docker_commands
;;
(option-or-argument)
curcontext=${curcontext%:*:*}:docker-$words[1]:
__docker_subcommand
__docker_subcommand
;;
esac
}
-125
View File
@@ -1,125 +0,0 @@
package main
import (
"fmt"
"io"
"log"
"net"
"os"
"os/exec"
"path"
"time"
)
var DOCKERPATH = path.Join(os.Getenv("DOCKERPATH"), "docker")
// WARNING: this crashTest will 1) crash your host, 2) remove all containers
func runDaemon() (*exec.Cmd, error) {
os.Remove("/var/run/docker.pid")
exec.Command("rm", "-rf", "/var/lib/docker/containers").Run()
cmd := exec.Command(DOCKERPATH, "-d")
outPipe, err := cmd.StdoutPipe()
if err != nil {
return nil, err
}
errPipe, err := cmd.StderrPipe()
if err != nil {
return nil, err
}
if err := cmd.Start(); err != nil {
return nil, err
}
go func() {
io.Copy(os.Stdout, outPipe)
}()
go func() {
io.Copy(os.Stderr, errPipe)
}()
return cmd, nil
}
func crashTest() error {
if err := exec.Command("/bin/bash", "-c", "while true; do true; done").Start(); err != nil {
return err
}
var endpoint string
if ep := os.Getenv("TEST_ENDPOINT"); ep == "" {
endpoint = "192.168.56.1:7979"
} else {
endpoint = ep
}
c := make(chan bool)
var conn io.Writer
go func() {
conn, _ = net.Dial("tcp", endpoint)
c <- false
}()
go func() {
time.Sleep(2 * time.Second)
c <- true
}()
<-c
restartCount := 0
totalTestCount := 1
for {
daemon, err := runDaemon()
if err != nil {
return err
}
restartCount++
// time.Sleep(5000 * time.Millisecond)
var stop bool
go func() error {
stop = false
for i := 0; i < 100 && !stop; {
func() error {
cmd := exec.Command(DOCKERPATH, "run", "ubuntu", "echo", fmt.Sprintf("%d", totalTestCount))
i++
totalTestCount++
outPipe, err := cmd.StdoutPipe()
if err != nil {
return err
}
inPipe, err := cmd.StdinPipe()
if err != nil {
return err
}
if err := cmd.Start(); err != nil {
return err
}
if conn != nil {
go io.Copy(conn, outPipe)
}
// Expecting error, do not check
inPipe.Write([]byte("hello world!!!!!\n"))
go inPipe.Write([]byte("hello world!!!!!\n"))
go inPipe.Write([]byte("hello world!!!!!\n"))
inPipe.Close()
if err := cmd.Wait(); err != nil {
return err
}
outPipe.Close()
return nil
}()
}
return nil
}()
time.Sleep(20 * time.Second)
stop = true
if err := daemon.Process.Kill(); err != nil {
return err
}
}
}
func main() {
if err := crashTest(); err != nil {
log.Println(err)
}
}
+1 -1
View File
@@ -6,7 +6,7 @@
# /data volume is owned by sysadmin.
# USAGE:
# # Download data Dockerfile
# wget http://raw.github.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
#
# # Build data image
# docker build -t data .
@@ -7,7 +7,7 @@
# sound devices. Tested on Debian 7.2
# USAGE:
# # Download Iceweasel Dockerfile
# wget http://raw.github.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
#
# # Build iceweasel image
# docker build -t iceweasel .
@@ -29,7 +29,7 @@ FROM debian:wheezy
MAINTAINER Daniel Mizyrycki <daniel@docker.com>
# Install Iceweasel and "sudo"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq iceweasel sudo
RUN apt-get update && apt-get install -y iceweasel sudo
# create sysadmin account
RUN useradd -m -d /data -p saIVpsc0EVTwA sysadmin
+1 -1
View File
@@ -3,7 +3,7 @@ package main
import (
"flag"
"fmt"
"github.com/dotcloud/docker/daemon/graphdriver/devmapper"
"github.com/docker/docker/daemon/graphdriver/devmapper"
"os"
"path"
"sort"
+1 -1
View File
@@ -19,7 +19,7 @@ ENV GOROOT /goroot
ENV GOPATH /go
ENV PATH $GOROOT/bin:$PATH
RUN go get github.com/dotcloud/docker && cd /go/src/github.com/dotcloud/docker && git checkout v0.6.3
RUN go get github.com/docker/docker && cd /go/src/github.com/docker/docker && git checkout v0.6.3
ADD manager.go /manager/
RUN cd /manager && go build -o /usr/bin/manager
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"encoding/json"
"flag"
"fmt"
"github.com/dotcloud/docker"
"github.com/docker/docker"
"os"
"strings"
"text/template"
+1 -1
View File
@@ -37,7 +37,7 @@ if [ ! -e "manager/$script" ]; then
exit 1
fi
# TODO https://github.com/dotcloud/docker/issues/734 (docker inspect formatting)
# TODO https://github.com/docker/docker/issues/734 (docker inspect formatting)
#if command -v docker > /dev/null 2>&1; then
# image="$(docker inspect -f '{{.Image}}' "$cid")"
# if [ "$image" ]; then
+3
View File
@@ -11,6 +11,9 @@ DOCKER_OPTS=${DOCKER_OPTS:-}
start() {
checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE"
ulimit -n 1048576
ulimit -u 1048576
ebegin "Starting docker daemon"
start-stop-daemon --start --background \
--exec "$DOCKER_BINARY" \
+2
View File
@@ -0,0 +1,2 @@
Lokesh Mandvekar <lsm5@fedoraproject.org> (@lsm5)
Brandon Philips <brandon.philips@coreos.com> (@philips)
+5 -5
View File
@@ -1,13 +1,13 @@
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
After=network.target
Documentation=http://docs.docker.com
After=network.target docker.socket
Requires=docker.socket
[Service]
ExecStart=/usr/bin/docker -d
Restart=on-failure
ExecStart=/usr/bin/docker -d -H fd://
LimitNOFILE=1048576
LimitNPROC=1048576
[Install]
WantedBy=multi-user.target
Also=docker.socket
@@ -3,6 +3,9 @@ Description=Docker Socket for the API
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
@@ -1,13 +0,0 @@
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
After=network.target
[Service]
ExecStart=/usr/bin/docker -d -H fd://
Restart=on-failure
LimitNOFILE=1048576
LimitNPROC=1048576
[Install]
WantedBy=multi-user.target
+18 -6
View File
@@ -1,9 +1,12 @@
#!/bin/sh
set -e
### BEGIN INIT INFO
# Provides: docker
# Required-Start: $syslog $remote_fs
# Required-Stop: $syslog $remote_fs
# Should-Start: cgroupfs-mount cgroup-lite
# Should-Stop: cgroupfs-mount cgroup-lite
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Create lightweight, portable, self-sufficient containers.
@@ -20,7 +23,10 @@ BASE=$(basename $0)
# modify these in /etc/default/$BASE (/etc/default/docker)
DOCKER=/usr/bin/$BASE
# This is the pid file managed by docker itself
DOCKER_PIDFILE=/var/run/$BASE.pid
# This is the pid file created/managed by start-stop-daemon
DOCKER_SSD_PIDFILE=/var/run/$BASE-ssd.pid
DOCKER_LOGFILE=/var/log/$BASE.log
DOCKER_OPTS=
DOCKER_DESC="Docker"
@@ -83,11 +89,19 @@ case "$1" in
touch "$DOCKER_LOGFILE"
chgrp docker "$DOCKER_LOGFILE"
ulimit -n 1048576
if [ "$BASH" ]; then
ulimit -u 1048576
else
ulimit -p 1048576
fi
log_begin_msg "Starting $DOCKER_DESC: $BASE"
start-stop-daemon --start --background \
--no-close \
--exec "$DOCKER" \
--pidfile "$DOCKER_PIDFILE" \
--pidfile "$DOCKER_SSD_PIDFILE" \
--make-pidfile \
-- \
-d -p "$DOCKER_PIDFILE" \
$DOCKER_OPTS \
@@ -98,13 +112,13 @@ case "$1" in
stop)
fail_unless_root
log_begin_msg "Stopping $DOCKER_DESC: $BASE"
start-stop-daemon --stop --pidfile "$DOCKER_PIDFILE"
start-stop-daemon --stop --pidfile "$DOCKER_SSD_PIDFILE"
log_end_msg $?
;;
restart)
fail_unless_root
docker_pid=`cat "$DOCKER_PIDFILE" 2>/dev/null`
docker_pid=`cat "$DOCKER_SSD_PIDFILE" 2>/dev/null`
[ -n "$docker_pid" ] \
&& ps -p $docker_pid > /dev/null 2>&1 \
&& $0 stop
@@ -117,7 +131,7 @@ case "$1" in
;;
status)
status_of_proc -p "$DOCKER_PIDFILE" "$DOCKER" docker
status_of_proc -p "$DOCKER_SSD_PIDFILE" "$DOCKER" "$DOCKER_DESC"
;;
*)
@@ -125,5 +139,3 @@ case "$1" in
exit 1
;;
esac
exit 0
+11 -4
View File
@@ -2,10 +2,10 @@
#
# /etc/rc.d/init.d/docker
#
# Daemon for docker.io
#
# Daemon for docker.com
#
# chkconfig: 2345 95 95
# description: Daemon for docker.io
# description: Daemon for docker.com
### BEGIN INIT INFO
# Provides: docker
@@ -16,7 +16,7 @@
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop docker
# Description: Daemon for docker.io
# Description: Daemon for docker.com
### END INIT INFO
# Source function library.
@@ -49,6 +49,13 @@ start() {
$exec -d $other_args &>> $logfile &
pid=$!
touch $lockfile
# wait up to 10 seconds for the pidfile to exist. see
# https://github.com/docker/docker/issues/5359
tries=0
while [ ! -f $pidfile -a $tries -lt 10 ]; do
sleep 1
tries=$((tries + 1))
done
success
echo
else
+1 -1
View File
@@ -1,6 +1,6 @@
description "Docker daemon"
start on filesystem
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
limit nofile 524288 1048576
limit nproc 524288 1048576
-2
View File
@@ -1,2 +0,0 @@
# these are generated by the md/md2man-all.sh script
man*
-5
View File
@@ -1,5 +0,0 @@
FROM fedora:20
MAINTAINER ipbabble <emailwhenry@redhat.com>
# Update and install pandoc
RUN yum -y update; yum clean all;
RUN yum -y install pandoc;
-34
View File
@@ -1,34 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-commit - Create a new image from the changes to an existing
container
# SYNOPSIS
**docker commit** **-a**|**--author**[=""] **-m**|**--message**[=""]
CONTAINER [REPOSITORY[:TAG]]
# DESCRIPTION
Using an existing container's name or ID you can create a new image.
# OPTIONS
**-a, --author**=""
Author name. (eg. "John Hannibal Smith <hannibal@a-team.com>"
**-m, --message**=""
Commit message
# EXAMPLES
## Creating a new image from an existing container
An existing Fedora based container has had Apache installed while running
in interactive mode with the bash shell. Apache is also running. To
create a new image run docker ps to find the container's ID and then run:
# docker commit -me= "Added Apache to Fedora base image" \
--a="A D Ministrator" 98bd7fc99854 fedora/fedora_httpd:20
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and in
-21
View File
@@ -1,21 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-kill - Kill a running container (send SIGKILL, or specified signal)
# SYNOPSIS
**docker kill** **--signal**[=*"KILL"*] CONTAINER [CONTAINER...]
# DESCRIPTION
The main process inside each container specified will be sent SIGKILL,
or any signal specified with option --signal.
# OPTIONS
**-s**, **--signal**=*"KILL"*
Signal to send to the container
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-15
View File
@@ -1,15 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-port - Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
# SYNOPSIS
**docker port** CONTAINER PRIVATE_PORT
# DESCRIPTION
Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-21
View File
@@ -1,21 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-restart - Restart a running container
# SYNOPSIS
**docker restart** [**-t**|**--time**[=*10*]] CONTAINER [CONTAINER...]
# DESCRIPTION
Restart each container listed.
# OPTIONS
**-t**, **--time**=NUM
Number of seconds to try to stop for before killing the container. Once
killed it will then be restarted. Default=10
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-25
View File
@@ -1,25 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-start - Restart a stopped container
# SYNOPSIS
**docker start** [**a**|**--attach**[=*false*]] [**-i**|**--interactive**
[=*true*] CONTAINER [CONTAINER...]
# DESCRIPTION
Start a stopped container.
# OPTION
**-a**, **--attach**=*true*|*false*
When true attach to container's stdout/stderr and forward all signals to
the process
**-i**, **--interactive**=*true*|*false*
When true attach to container's stdin
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-22
View File
@@ -1,22 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-stop - Stop a running container
grace period)
# SYNOPSIS
**docker stop** [**-t**|**--time**[=*10*]] CONTAINER [CONTAINER...]
# DESCRIPTION
Stop a running container (Send SIGTERM, and then SIGKILL after
grace period)
# OPTIONS
**-t**, **--time**=NUM
Wait NUM number of seconds for the container to stop before killing it.
The default is 10 seconds.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-48
View File
@@ -1,48 +0,0 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-tag - Tag an image in the repository
# SYNOPSIS
**docker tag** [**-f**|**--force**[=*false*]
IMAGE [REGISTRYHOST/][USERNAME/]NAME[:TAG]
# DESCRIPTION
This will tag an image in the repository.
# "OPTIONS"
**-f**, **--force**=*true*|*false*
When set to true, force the tag name. The default is *false*.
**REGISTRYHOST**
The hostname of the registry if required. This may also include the port
separated by a ':'
**USERNAME**
The username or other qualifying identifier for the image.
**NAME**
The image name.
**TAG**
The tag you are assigning to the image.
# EXAMPLES
## Tagging an image
Here is an example of tagging an image with the tag version1.0 :
docker tag 0e5574283393 fedora/httpd:version1.0
## Tagging an image for a private repository
To push an image to an private registry and not the central Docker
registry you must tag it with the registry hostname and port (if needed).
docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
-56
View File
@@ -1,56 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-attach.1
.\"
.TH "DOCKER" "1" "APRIL 2014" "0.1" "Docker"
.SH NAME
docker-attach \- Attach to a running container
.SH SYNOPSIS
.B docker attach
\fB--no-stdin\fR[=\fIfalse\fR]
\fB--sig-proxy\fR[=\fItrue\fR]
container
.SH DESCRIPTION
If you \fBdocker run\fR a container in detached mode (\fB-d\fR), you can reattach to the detached container with \fBdocker attach\fR using the container's ID or name.
.sp
You can detach from the container again (and leave it running) with CTRL-c (for a quiet exit) or CTRL-\ to get a stacktrace of the Docker client when it quits. When you detach from the container the exit code will be returned to the client.
.SH "OPTIONS"
.TP
.B --no-stdin=\fItrue\fR|\fIfalse\fR:
When set to true, do not attach to stdin. The default is \fIfalse\fR.
.TP
.B --sig-proxy=\fItrue\fR|\fIfalse\fR:
When set to true, proxify all received signal to the process (even in non-tty mode). The default is \fItrue\fR.
.sp
.SH EXAMPLES
.sp
.PP
.B Attaching to a container
.TP
In this example the top command is run inside a container, from an image called fedora, in detached mode. The ID from the container is passed into the \fBdocker attach\fR command:
.sp
.nf
.RS
# ID=$(sudo docker run -d fedora /usr/bin/top -b)
# sudo docker attach $ID
top - 02:05:52 up 3:05, 0 users, load average: 0.01, 0.02, 0.05
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 373572k total, 355560k used, 18012k free, 27872k buffers
Swap: 786428k total, 0k used, 786428k free, 221740k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 17200 1116 912 R 0 0.3 0:00.03 top
top - 02:05:55 up 3:05, 0 users, load average: 0.01, 0.02, 0.05
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 373572k total, 355244k used, 18328k free, 27872k buffers
Swap: 786428k total, 0k used, 786428k free, 221776k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 17208 1144 932 R 0 0.3 0:00.03 top
.RE
.fi
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-65
View File
@@ -1,65 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-build.1
.\"
.TH "DOCKER" "1" "MARCH 2014" "0.1" "Docker"
.SH NAME
docker-build \- Build a container image from a Dockerfile source at PATH
.SH SYNOPSIS
.B docker build
[\fB--no-cache\fR[=\fIfalse\fR]
[\fB-q\fR|\fB--quiet\fR[=\fIfalse\fR]
[\fB--rm\fR[=\fitrue\fR]]
[\fB-t\fR|\fB--tag\fR=\fItag\fR]
PATH | URL | -
.SH DESCRIPTION
This will read the Dockerfile from the directory specified in \fBPATH\fR. It also sends any other files and directories found in the current directory to the Docker daemon. The contents of this directory would be used by ADD command found within the Dockerfile.
Warning, this will send a lot of data to the Docker daemon if the current directory contains a lot of data.
If the absolute path is provided instead of ., only the files and directories required by the ADD commands from the Dockerfile will be added to the context and transferred to the Docker daemon.
.sp
When a single Dockerfile is given as URL, then no context is set. When a Git repository is set as URL, the repository is used as context.
.SH "OPTIONS"
.TP
.B -q, --quiet=\fItrue\fR|\fIfalse\fR:
When set to true, suppress verbose build output. Default is \fIfalse\fR.
.TP
.B --rm=\fItrue\fr|\fIfalse\fR:
When true, remove intermediate containers that are created during the build process. The default is true.
.TP
.B -t, --tag=\fItag\fR:
Tag to be applied to the resulting image on successful completion of the build.
.TP
.B --no-cache=\fItrue\fR|\fIfalse\fR
When set to true, do not use a cache when building the image. The default is \fIfalse\fR.
.sp
.SH EXAMPLES
.sp
.sp
.B Building an image from current directory
.TP
USing a Dockerfile, Docker images are built using the build command:
.sp
.RS
docker build .
.RE
.sp
If, for some reasone, you do not what to remove the intermediate containers created during the build you must set--rm=false.
.sp
.RS
docker build --rm=false .
.sp
.RE
.sp
A good practice is to make a subdirectory with a related name and create the Dockerfile in that directory. E.g. a directory called mongo may contain a Dockerfile for a MongoDB image, or a directory called httpd may contain an Dockerfile for an Apache web server.
.sp
It is also good practice to add the files required for the image to the subdirectory. These files will be then specified with the `ADD` instruction in the Dockerfile. Note: if you include a tar file, which is good practice, then Docker will automatically extract the contents of the tar file specified in the `ADD` instruction into the specified target.
.sp
.B Building an image container using a URL
.TP
This will clone the Github repository and use it as context. The Dockerfile at the root of the repository is used as Dockerfile. This only works if the Github repository is a dedicated repository. Note that you can specify an arbitrary Git repository by using the git:// schema.
.sp
.RS
docker build github.com/scollier/Fedora-Dockerfiles/tree/master/apache
.RE
.sp
.SH HISTORY
March 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-84
View File
@@ -1,84 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-images.1
.\"
.TH "DOCKER" "1" "April 2014" "0.1" "Docker"
.SH NAME
docker-images \- List the images in the local repository
.SH SYNOPSIS
.B docker images
[\fB-a\fR|\fB--all\fR=\fIfalse\fR]
[\fB--no-trunc\fR[=\fIfalse\fR]
[\fB-q\fR|\fB--quiet\fR[=\fIfalse\fR]
[\fB-t\fR|\fB--tree\fR=\fIfalse\fR]
[\fB-v\fR|\fB--viz\fR=\fIfalse\fR]
[NAME]
.SH DESCRIPTION
This command lists the images stored in the local Docker repository.
.sp
By default, intermediate images, used during builds, are not listed. Some of the output, e.g. image ID, is truncated, for space reasons. However the truncated image ID, and often the first few characters, are enough to be used in other Docker commands that use the image ID. The output includes repository, tag, image ID, date created and the virtual size.
.sp
The title REPOSITORY for the first title may seem confusing. It is essentially the image name. However, because you can tag a specific image, and multiple tags (image instances) can be associated with a single name, the name is really a repository for all tagged images of the same name.
.SH "OPTIONS"
.TP
.B -a, --all=\fItrue\fR|\fIfalse\fR:
When set to true, also include all intermediate images in the list. The default is false.
.TP
.B --no-trunc=\fItrue\fR|\fIfalse\fR:
When set to true, list the full image ID and not the truncated ID. The default is false.
.TP
.B -q, --quiet=\fItrue\fR|\fIfalse\fR:
When set to true, list the complete image ID as part of the output. The default is false.
.TP
.B -t, --tree=\fItrue\fR|\fIfalse\fR:
When set to true, list the images in a tree dependency tree (hierarchy) format. The default is false.
.TP
.B -v, --viz=\fItrue\fR|\fIfalse\fR
When set to true, list the graph in graphviz format. The default is \fIfalse\fR.
.sp
.SH EXAMPLES
.sp
.B Listing the images
.TP
To list the images in a local repository (not the registry) run:
.sp
.RS
docker images
.RE
.sp
The list will contain the image repository name, a tag for the image, and an image ID, when it was created and its virtual size. Columns: REPOSITORY, TAG, IMAGE ID, CREATED, and VIRTUAL SIZE.
.sp
To get a verbose list of images which contains all the intermediate images used in builds use \fB-a\fR:
.sp
.RS
docker images -a
.RE
.sp
.B List images dependency tree hierarchy
.TP
To list the images in the local repository (not the registry) in a dependency tree format then use the \fB-t\fR|\fB--tree=true\fR option.
.sp
.RS
docker images -t
.RE
.sp
This displays a staggered hierarchy tree where the less indented image is the oldest with dependent image layers branching inward (to the right) on subsequent lines. The newest or top level image layer is listed last in any tree branch.
.sp
.B List images in GraphViz format
.TP
To display the list in a format consumable by a GraphViz tools run with \fB-v\fR|\fB--viz=true\fR. For example to produce a .png graph file of the hierarchy use:
.sp
.RS
docker images --viz | dot -Tpng -o docker.png
.sp
.RE
.sp
.B Listing only the shortened image IDs
.TP
Listing just the shortened image IDs. This can be useful for some automated tools.
.sp
.RS
docker images -q
.RE
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-39
View File
@@ -1,39 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-info.1
.\"
.TH "DOCKER" "1" "APRIL 2014" "0.1" "Docker"
.SH NAME
docker-info \- Display system wide information
.SH SYNOPSIS
.B docker info
.SH DESCRIPTION
This command displays system wide information regarding the Docker installation. Information displayed includes the number of containers and images, pool name, data file, metadata file, data space used, total data space, metadata space used, total metadata space, execution driver, and the kernel version.
.sp
The data file is where the images are stored and the metadata file is where the meta data regarding those images are stored. When run for the first time Docker allocates a certain amount of data space and meta data space from the space available on the volume where /var/lib/docker is mounted.
.SH "OPTIONS"
There are no available options.
.sp
.SH EXAMPLES
.sp
.B Display Docker system information
.TP
Here is a sample output:
.sp
.RS
# docker info
Containers: 18
Images: 95
Storage Driver: devicemapper
Pool Name: docker-8:1-170408448-pool
Data file: /var/lib/docker/devicemapper/devicemapper/data
Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
Data Space Used: 9946.3 Mb
Data Space Total: 102400.0 Mb
Metadata Space Used: 9.9 Mb
Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.1
Kernel Version: 3.10.0-116.el7.x86_64
.RE
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-237
View File
@@ -1,237 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-inspect.1
.\"
.TH "DOCKER" "1" "APRIL 2014" "0.1" "Docker"
.SH NAME
docker-inspect \- Return low-level information on a container/image
.SH SYNOPSIS
.B docker inspect
[\fB-f\fR|\fB--format\fR=""
CONTAINER|IMAGE [CONTAINER|IMAGE...]
.SH DESCRIPTION
This displays all the information available in Docker for a given container or image. By default, this will render all results in a JSON array. If a format is specified, the given template will be executed for each result.
.SH "OPTIONS"
.TP
.B -f, --format="":
The text/template package of Go describes all the details of the format. See examples section
.SH EXAMPLES
.sp
.PP
.B Getting information on a container
.TP
To get information on a container use it's ID or instance name
.sp
.fi
.RS
#docker inspect 1eb5fabf5a03
[{
"ID": "1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b",
"Created": "2014-04-04T21:33:52.02361335Z",
"Path": "/usr/sbin/nginx",
"Args": [],
"Config": {
"Hostname": "1eb5fabf5a03",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/usr/sbin/nginx"
],
"Dns": null,
"DnsSearch": null,
"Image": "summit/nginx",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": {
"mount_label": "system_u:object_r:svirt_sandbox_file_t:s0:c0,c650",
"process_label": "system_u:system_r:svirt_lxc_net_t:s0:c0,c650"
}
},
"State": {
"Running": true,
"Pid": 858,
"ExitCode": 0,
"StartedAt": "2014-04-04T21:33:54.16259207Z",
"FinishedAt": "0001-01-01T00:00:00Z",
"Ghost": false
},
"Image": "df53773a4390e25936f9fd3739e0c0e60a62d024ea7b669282b27e65ae8458e6",
"NetworkSettings": {
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"Gateway": "172.17.42.1",
"Bridge": "docker0",
"PortMapping": null,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
}
},
"ResolvConfPath": "/etc/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/hostname",
"HostsPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/hosts",
"Name": "/ecstatic_ptolemy",
"Driver": "devicemapper",
"ExecDriver": "native-0.1",
"Volumes": {},
"VolumesRW": {},
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LxcConf": [],
"Privileged": false,
"PortBindings": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
},
"Links": null,
"PublishAllPorts": false,
"DriverOptions": {
"lxc": null
},
"CliAddress": ""
}
.RE
.nf
.sp
.B Getting the IP address of a container instance
.TP
To get the IP address of a container use:
.sp
.fi
.RS
# docker inspect --format='{{.NetworkSettings.IPAddress}}' 1eb5fabf5a03
172.17.0.2
.RE
.nf
.sp
.B Listing all port bindings
.TP
One can loop over arrays and maps in the results to produce simple text output:
.sp
.fi
.RS
# docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' 1eb5fabf5a03
80/tcp -> 80
.RE
.nf
.sp
.B Getting information on an image
.TP
Use an image's ID or name (e.g. repository/name[:tag]) to get information on it.
.sp
.fi
.RS
docker inspect 58394af37342
[{
"id": "58394af373423902a1b97f209a31e3777932d9321ef10e64feaaa7b4df609cf9",
"parent": "8abc22fbb04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"created": "2014-02-03T16:10:40.500814677Z",
"container": "f718f19a28a5147da49313c54620306243734bafa63c76942ef6f8c4b4113bc5",
"container_config": {
"Hostname": "88807319f25e",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": null,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ADD fedora-20-medium.tar.xz in /"
],
"Dns": null,
"DnsSearch": null,
"Image": "8abc22fbb04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": null
},
"docker_version": "0.6.3",
"author": "Lokesh Mandvekar \u003clsm5@redhat.com\u003e - ./buildcontainers.sh",
"config": {
"Hostname": "88807319f25e",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": null,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": null,
"Dns": null,
"DnsSearch": null,
"Image": "8abc22fbb04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": null
},
"architecture": "x86_64",
"Size": 385520098
}]
.RE
.nf
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-45
View File
@@ -1,45 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-rm.1
.\"
.TH "DOCKER" "1" "MARCH 2014" "0.1" "Docker"
.SH NAME
docker-rm \- Remove one or more containers.
.SH SYNOPSIS
.B docker rm
[\fB-f\fR|\fB--force\fR[=\fIfalse\fR]
[\fB-l\fR|\fB--link\fR[=\fIfalse\fR]
[\fB-v\fR|\fB--volumes\fR[=\fIfalse\fR]
CONTAINER [CONTAINER...]
.SH DESCRIPTION
This will remove one or more containers from the host node. The container name or ID can be used. This does not remove images. You cannot remove a running container unless you use the \fB-f\fR option. To see all containers on a host use the \fBdocker ps -a\fR command.
.SH "OPTIONS"
.TP
.B -f, --force=\fItrue\fR|\fIfalse\fR:
When set to true, force the removal of the container. The default is \fIfalse\fR.
.TP
.B -l, --link=\fItrue\fR|\fIfalse\fR:
When set to true, remove the specified link and not the underlying container. The default is \fIfalse\fR.
.TP
.B -v, --volumes=\fItrue\fR|\fIfalse\fR:
When set to true, remove the volumes associated to the container. The default is \fIfalse\fR.
.SH EXAMPLES
.sp
.PP
.B Removing a container using its ID
.TP
To remove a container using its ID, find either from a \fBdocker ps -a\fR command, or use the ID returned from the \fBdocker run\fR command, or retrieve it from a file used to store it using the \fBdocker run --cidfile\fR:
.sp
.RS
docker rm abebf7571666
.RE
.sp
.B Removing a container using the container name:
.TP
The name of the container can be found using the \fBdocker ps -a\fR command. The use that name as follows:
.sp
.RS
docker rm hopeful_morse
.RE
.sp
.SH HISTORY
March 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-50
View File
@@ -1,50 +0,0 @@
DOCKER "1" "APRIL 2014" "0.1" "Docker"
=======================================
NAME
----
docker-rm - Remove one or more containers.
SYNOPSIS
--------
`docker rm` [`-f`|`--force`[=*false*] [`-l`|`--link`[=*false*] [`-v`|`--volumes`[=*false*]
CONTAINER [CONTAINER...]
DESCRIPTION
-----------
`docker rm` will remove one or more containers from the host node. The container name or ID can be used. This does not remove images. You cannot remove a running container unless you use the \fB-f\fR option. To see all containers on a host use the `docker ps -a` command.
OPTIONS
-------
`-f`, `--force`=*true*|*false*:
When set to true, force the removal of the container. The default is *false*.
`-l`, `--link`=*true*|*false*:
When set to true, remove the specified link and not the underlying container. The default is *false*.
`-v`, `--volumes`=*true*|*false*:
When set to true, remove the volumes associated to the container. The default is *false*.
EXAMPLES
--------
##Removing a container using its ID##
To remove a container using its ID, find either from a `docker ps -a` command, or use the ID returned from the `docker run` command, or retrieve it from a file used to store it using the `docker run --cidfile`:
docker rm abebf7571666
##Removing a container using the container name##
The name of the container can be found using the \fBdocker ps -a\fR command. The use that name as follows:
docker rm hopeful_morse
HISTORY
-------
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-29
View File
@@ -1,29 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-run.1
.\"
.TH "DOCKER" "1" "MARCH 2014" "0.1" "Docker"
.SH NAME
docker-rmi \- Remove one or more images.
.SH SYNOPSIS
.B docker rmi
[\fB-f\fR|\fB--force\fR[=\fIfalse\fR]
IMAGE [IMAGE...]
.SH DESCRIPTION
This will remove one or more images from the host node. This does not remove images from a registry. You cannot remove an image of a running container unless you use the \fB-f\fR option. To see all images on a host use the \fBdocker images\fR command.
.SH "OPTIONS"
.TP
.B -f, --force=\fItrue\fR|\fIfalse\fR:
When set to true, force the removal of the image. The default is \fIfalse\fR.
.SH EXAMPLES
.sp
.PP
.B Removing an image
.TP
Here is an example of removing and image:
.sp
.RS
docker rmi fedora/httpd
.RE
.sp
.SH HISTORY
March 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-277
View File
@@ -1,277 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-run.1
.\"
.TH "DOCKER" "1" "MARCH 2014" "0.1" "Docker"
.SH NAME
docker-run \- Run a process in an isolated container
.SH SYNOPSIS
.B docker run
[\fB-a\fR|\fB--attach\fR[=]] [\fB-c\fR|\fB--cpu-shares\fR[=0] [\fB-m\fR|\fB--memory\fR=\fImemory-limit\fR]
[\fB--cidfile\fR=\fIfile\fR] [\fB-d\fR|\fB--detach\fR[=\fIfalse\fR]] [\fB--dns\fR=\fIIP-address\fR]
[\fB--name\fR=\fIname\fR] [\fB-u\fR|\fB--user\fR=\fIusername\fR|\fIuid\fR]
[\fB--link\fR=\fIname\fR:\fIalias\fR]
[\fB-e\fR|\fB--env\fR=\fIenvironment\fR] [\fB--entrypoint\fR=\fIcommand\fR]
[\fB--expose\fR=\fIport\fR] [\fB-P\fR|\fB--publish-all\fR[=\fIfalse\fR]]
[\fB-p\fR|\fB--publish\fR=\fIport-mappping\fR] [\fB-h\fR|\fB--hostname\fR=\fIhostname\fR]
[\fB--rm\fR[=\fIfalse\fR]] [\fB--priviledged\fR[=\fIfalse\fR]
[\fB-i\fR|\fB--interactive\fR[=\fIfalse\fR]
[\fB-t\fR|\fB--tty\fR[=\fIfalse\fR]] [\fB--lxc-conf\fR=\fIoptions\fR]
[\fB-n\fR|\fB--networking\fR[=\fItrue\fR]]
[\fB-v\fR|\fB--volume\fR=\fIvolume\fR] [\fB--volumes-from\fR=\fIcontainer-id\fR]
[\fB-w\fR|\fB--workdir\fR=\fIdirectory\fR] [\fB--sig-proxy\fR[=\fItrue\fR]]
IMAGE [COMMAND] [ARG...]
.SH DESCRIPTION
.PP
Run a process in a new container. \fBdocker run\fR starts a process with its own file system, its own networking, and its own isolated process tree. The \fIIMAGE\fR which starts the process may define defaults related to the process that will be run in the container, the networking to expose, and more, but \fBdocker run\fR gives final control to the operator or administrator who starts the container from the image. For that reason \fBdocker run\fR has more options than any other docker command.
If the \fIIMAGE\fR is not already loaded then \fBdocker run\fR will pull the \fIIMAGE\fR, and all image dependencies, from the repository in the same way running \fBdocker pull\fR \fIIMAGE\fR, before it starts the container from that image.
.SH "OPTIONS"
.TP
.B -a, --attach=\fIstdin\fR|\fIstdout\fR|\fIstderr\fR:
Attach to stdin, stdout or stderr. In foreground mode (the default when -d is not specified), \fBdocker run\fR can start the process in the container and attach the console to the processs standard input, output, and standard error. It can even pretend to be a TTY (this is what most commandline executables expect) and pass along signals. The \fB-a\fR option can be set for each of stdin, stdout, and stderr.
.TP
.B -c, --cpu-shares=0:
CPU shares in relative weight. You can increase the priority of a container with the -c option. By default, all containers run at the same priority and get the same proportion of CPU cycles, but you can tell the kernel to give more shares of CPU time to one or more containers when you start them via \fBdocker run\fR.
.TP
.B -m, --memory=\fImemory-limit\fR:
Allows you to constrain the memory available to a container. If the host supports swap memory, then the -m memory setting can be larger than physical RAM. The memory limit format: <number><optional unit>, where unit = b, k, m or g.
.TP
.B --cidfile=\fIfile\fR:
Write the container ID to the file specified.
.TP
.B -d, --detach=\fItrue\fR|\fIfalse\fR:
Detached mode. This runs the container in the background. It outputs the new container's id and and error messages. At any time you can run \fBdocker ps\fR in the other shell to view a list of the running containers. You can reattach to a detached container with \fBdocker attach\fR. If you choose to run a container in the detached mode, then you cannot use the -rm option.
.TP
.B --dns=\fIIP-address\fR:
Set custom DNS servers. This option can be used to override the DNS configuration passed to the container. Typically this is necessary when the host DNS configuration is invalid for the container (eg. 127.0.0.1). When this is the case the \fB-dns\fR flags is necessary for every run.
.TP
.B -e, --env=\fIenvironment\fR:
Set environment variables. This option allows you to specify arbitrary environment variables that are available for the process that will be launched inside of the container.
.TP
.B --entrypoint=\ficommand\fR:
This option allows you to overwrite the default entrypoint of the image that is set in the Dockerfile. The ENTRYPOINT of an image is similar to a COMMAND because it specifies what executable to run when the container starts, but it is (purposely) more difficult to override. The ENTRYPOINT gives a container its default nature or behavior, so that when you set an ENTRYPOINT you can run the container as if it were that binary, complete with default options, and you can pass in more options via the COMMAND. But, sometimes an operator may want to run something else inside the container, so you can override the default ENTRYPOINT at runtime by using a \fB--entrypoint\fR and a string to specify the new ENTRYPOINT.
.TP
.B --expose=\fIport\fR:
Expose a port from the container without publishing it to your host. A containers port can be exposed to other containers in three ways: 1) The developer can expose the port using the EXPOSE parameter of the Dockerfile, 2) the operator can use the \fB--expose\fR option with \fBdocker run\fR, or 3) the container can be started with the \fB--link\fR.
.TP
.B -P, --publish-all=\fItrue\fR|\fIfalse\fR:
When set to true publish all exposed ports to the host interfaces. The default is false. If the operator uses -P (or -p) then Docker will make the exposed port accessible on the host and the ports will be available to any client that can reach the host. To find the map between the host ports and the exposed ports, use \fBdocker port\fR.
.TP
.B -p, --publish=[]:
Publish a container's port to the host (format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort) (use 'docker port' to see the actual mapping)
.TP
.B -h , --hostname=\fIhostname\fR:
Sets the container host name that is available inside the container.
.TP
.B -i , --interactive=\fItrue\fR|\fIfalse\fR:
When set to true, keep stdin open even if not attached. The default is false.
.TP
.B --link=\fIname\fR:\fIalias\fR:
Add link to another container. The format is name:alias. If the operator uses \fB--link\fR when starting the new client container, then the client container can access the exposed port via a private networking interface. Docker will set some environment variables in the client container to help indicate which interface and port to use.
.TP
.B -n, --networking=\fItrue\fR|\fIfalse\fR:
By default, all containers have networking enabled (true) and can make outgoing connections. The operator can disable networking with \fB--networking\fR to false. This disables all incoming and outgoing networking. In cases like this, I/O can only be performed through files or by using STDIN/STDOUT.
Also by default, the container will use the same DNS servers as the host. but you canThe operator may override this with \fB-dns\fR.
.TP
.B --name=\fIname\fR:
Assign a name to the container. The operator can identify a container in three ways:
.sp
.nf
UUID long identifier (“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”)
UUID short identifier (“f78375b1c487”)
Name (“jonah”)
.fi
.sp
The UUID identifiers come from the Docker daemon, and if a name is not assigned to the container with \fB--name\fR then the daemon will also generate a random string name. The name is useful when defining links (see \fB--link\fR) (or any other place you need to identify a container). This works for both background and foreground Docker containers.
.TP
.B --privileged=\fItrue\fR|\fIfalse\fR:
Give extended privileges to this container. By default, Docker containers are “unprivileged” (=false) and cannot, for example, run a Docker daemon inside the Docker container. This is because by default a container is not allowed to access any devices. A “privileged” container is given access to all devices.
When the operator executes \fBdocker run -privileged\fR, Docker will enable access to all devices on the host as well as set some configuration in AppArmor (\fB???\fR) to allow the container nearly all the same access to the host as processes running outside of a container on the host.
.TP
.B --rm=\fItrue\fR|\fIfalse\fR:
If set to \fItrue\fR the container is automatically removed when it exits. The default is \fIfalse\fR. This option is incompatible with \fB-d\fR.
.TP
.B --sig-proxy=\fItrue\fR|\fIfalse\fR:
When set to true, proxify all received signals to the process (even in non-tty mode). The default is true.
.TP
.B -t, --tty=\fItrue\fR|\fIfalse\fR:
When set to true Docker can allocate a pseudo-tty and attach to the standard input of any container. This can be used, for example, to run a throwaway interactive shell. The default is value is false.
.TP
.B -u, --user=\fIusername\fR,\fRuid\fR:
Set a username or UID for the container.
.TP
.B -v, --volume=\fIvolume\fR:
Bind mount a volume to the container. The \fB-v\fR option can be used one or more times to add one or more mounts to a container. These mounts can then be used in other containers using the \fB--volumes-from\fR option. See examples.
.TP
.B --volumes-from=\fIcontainer-id\fR:
Will mount volumes from the specified container identified by container-id. Once a volume is mounted in a one container it can be shared with other containers using the \fB--volumes-from\fR option when running those other containers. The volumes can be shared even if the original container with the mount is not running.
.TP
.B -w, --workdir=\fIdirectory\fR:
Working directory inside the container. The default working directory for running binaries within a container is the root directory (/). The developer can set a different default with the Dockerfile WORKDIR instruction. The operator can override the working directory by using the \fB-w\fR option.
.TP
.B IMAGE:
The image name or ID.
.TP
.B COMMAND:
The command or program to run inside the image.
.TP
.B ARG:
The arguments for the command to be run in the container.
.SH EXAMPLES
.sp
.sp
.B Exposing log messages from the container to the host's log
.TP
If you want messages that are logged in your container to show up in the host's syslog/journal then you should bind mount the /var/log directory as follows.
.sp
.RS
docker run -v /dev/log:/dev/log -i -t fedora /bin/bash
.RE
.sp
From inside the container you can test this by sending a message to the log.
.sp
.RS
logger "Hello from my container"
.sp
.RE
Then exit and check the journal.
.RS
.sp
exit
.sp
journalctl -b | grep hello
.RE
.sp
This should list the message sent to logger.
.sp
.B Attaching to one or more from STDIN, STDOUT, STDERR
.TP
If you do not specify -a then Docker will attach everything (stdin,stdout,stderr). You can specify to which of the three standard streams (stdin, stdout, stderr) youd like to connect instead, as in:
.sp
.RS
docker run -a stdin -a stdout -i -t fedora /bin/bash
.RE
.sp
.B Linking Containers
.TP
The link feature allows multiple containers to communicate with each other. For example, a container whose Dockerfile has exposed port 80 can be run and named as follows:
.sp
.RS
docker run --name=link-test -d -i -t fedora/httpd
.RE
.sp
.TP
A second container, in this case called linker, can communicate with the httpd container, named link-test, by running with the \fB--link=<name>:<alias>\fR
.sp
.RS
docker run -t -i --link=link-test:lt --name=linker fedora /bin/bash
.RE
.sp
.TP
Now the container linker is linked to container link-test with the alias lt. Running the \fBenv\fR command in the linker container shows environment variables with the LT (alias) context (\fBLT_\fR)
.sp
.nf
.RS
# env
HOSTNAME=668231cb0978
TERM=xterm
LT_PORT_80_TCP=tcp://172.17.0.3:80
LT_PORT_80_TCP_PORT=80
LT_PORT_80_TCP_PROTO=tcp
LT_PORT=tcp://172.17.0.3:80
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LT_NAME=/linker/lt
SHLVL=1
HOME=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/usr/bin/env
.RE
.fi
.sp
.TP
When linking two containers Docker will use the exposed ports of the container to create a secure tunnel for the parent to access.
.TP
.sp
.B Mapping Ports for External Usage
.TP
The exposed port of an application can be mapped to a host port using the \fB-p\fR flag. For example a httpd port 80 can be mapped to the host port 8080 using the following:
.sp
.RS
docker run -p 8080:80 -d -i -t fedora/httpd
.RE
.sp
.TP
.B Creating and Mounting a Data Volume Container
.TP
Many applications require the sharing of persistent data across several containers. Docker allows you to create a Data Volume Container that other containers can mount from. For example, create a named container that contains directories /var/volume1 and /tmp/volume2. The image will need to contain these directories so a couple of RUN mkdir instructions might be required for you fedora-data image:
.sp
.RS
docker run --name=data -v /var/volume1 -v /tmp/volume2 -i -t fedora-data true
.sp
docker run --volumes-from=data --name=fedora-container1 -i -t fedora bash
.RE
.sp
.TP
Multiple -volumes-from parameters will bring together multiple data volumes from multiple containers. And it's possible to mount the volumes that came from the DATA container in yet another container via the fedora-container1 intermidiery container, allowing to abstract the actual data source from users of that data:
.sp
.RS
docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash
.RE
.TP
.sp
.B Mounting External Volumes
.TP
To mount a host directory as a container volume, specify the absolute path to the directory and the absolute path for the container directory separated by a colon:
.sp
.RS
docker run -v /var/db:/data1 -i -t fedora bash
.RE
.sp
.TP
When using SELinux, be aware that the host has no knowledge of container SELinux policy. Therefore, in the above example, if SELinux policy is enforced, the /var/db directory is not writable to the container. A "Permission Denied" message will occur and an avc: message in the host's syslog.
.sp
.TP
To work around this, at time of writing this man page, the following command needs to be run in order for the proper SELinux policy type label to be attached to the host directory:
.sp
.RS
chcon -Rt svirt_sandbox_file_t /var/db
.RE
.sp
.TP
Now, writing to the /data1 volume in the container will be allowed and the changes will also be reflected on the host in /var/db.
.sp
.SH HISTORY
March 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-49
View File
@@ -1,49 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker-tag.1
.\"
.TH "DOCKER" "1" "APRIL 2014" "0.1" "Docker"
.SH NAME
docker-tag \- Tag an image in the repository
.SH SYNOPSIS
.B docker tag
[\fB-f\fR|\fB--force\fR[=\fIfalse\fR]
\fBIMAGE\fR [REGISTRYHOST/][USERNAME/]NAME[:TAG]
.SH DESCRIPTION
This will tag an image in the repository.
.SH "OPTIONS"
.TP
.B -f, --force=\fItrue\fR|\fIfalse\fR:
When set to true, force the tag name. The default is \fIfalse\fR.
.TP
.B REGISTRYHOST:
The hostname of the registry if required. This may also include the port separated by a ':'
.TP
.B USERNAME:
The username or other qualifying identifier for the image.
.TP
.B NAME:
The image name.
.TP
.B TAG:
The tag you are assigning to the image.
.SH EXAMPLES
.sp
.PP
.B Tagging an image
.TP
Here is an example where an image is tagged with the tag 'Version-1.0' :
.sp
.RS
docker tag 0e5574283393 fedora/httpd:Version-1.0
.RE
.sp
.B Tagging an image for an internal repository
.TP
To push an image to an internal Registry and not the default docker.io based registry you must tag it with the registry hostname and port (if needed).
.sp
.RS
docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0
.RE
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
-172
View File
@@ -1,172 +0,0 @@
.\" Process this file with
.\" nroff -man -Tascii docker.1
.\"
.TH "DOCKER" "1" "APRIL 2014" "0.1" "Docker"
.SH NAME
docker \- Docker image and container command line interface
.SH SYNOPSIS
.B docker [OPTIONS] [COMMAND] [arg...]
.SH DESCRIPTION
\fBdocker\fR has two distinct functions. It is used for starting the Docker daemon and to run the CLI (i.e., to command the daemon to manage images, containers etc.) So \fBdocker\fR is both a server as deamon and a client to the daemon through the CLI.
.sp
To run the Docker deamon you do not specify any of the commands listed below but must specify the \fB-d\fR option. The other options listed below are for the daemon only.
.sp
The Docker CLI has over 30 commands. The commands are listed below and each has its own man page which explain usage and arguements.
.sp
To see the man page for a command run \fBman docker <command>\fR.
.SH "OPTIONS"
.B \-D=false:
Enable debug mode
.TP
.B\-H=[unix:///var/run/docker.sock]: tcp://[host[:port]] to bind or unix://[/path/to/socket] to use.
When host=[0.0.0.0], port=[4243] or path
=[/var/run/docker.sock] is omitted, default values are used.
.TP
.B \-\-api-enable-cors=false
Enable CORS headers in the remote API
.TP
.B \-b=""
Attach containers to a pre\-existing network bridge; use 'none' to disable container networking
.TP
.B \-\-bip=""
Use the provided CIDR notation address for the dynamically created bridge (docker0); Mutually exclusive of \-b
.TP
.B \-d=false
Enable daemon mode
.TP
.B \-\-dns=""
Force Docker to use specific DNS servers
.TP
.B \-g="/var/lib/docker"
Path to use as the root of the Docker runtime
.TP
.B \-\-icc=true
Enable inter\-container communication
.TP
.B \-\-ip="0.0.0.0"
Default IP address to use when binding container ports
.TP
.B \-\-iptables=true
Disable Docker's addition of iptables rules
.TP
.B \-\-mtu=1500
Set the containers network mtu
.TP
.B \-p="/var/run/docker.pid"
Path to use for daemon PID file
.TP
.B \-r=true
Restart previously running containers
.TP
.B \-s=""
Force the Docker runtime to use a specific storage driver
.TP
.B \-v=false
Print version information and quit
.SH "COMMANDS"
.TP
.B attach
Attach to a running container
.TP
.B build
Build a container from a Dockerfile
.TP
.B commit
Create a new image from a container's changes
.TP
.B cp
Copy files/folders from the containers filesystem to the host at path
.TP
.B diff
Inspect changes on a container's filesystem
.TP
.B events
Get real time events from the server
.TP
.B export
Stream the contents of a container as a tar archive
.TP
.B history
Show the history of an image
.TP
.B images
List images
.TP
.B import
Create a new filesystem image from the contents of a tarball
.TP
.B info
Display system-wide information
.TP
.B insert
Insert a file in an image
.TP
.B inspect
Return low-level information on a container
.TP
.B kill
Kill a running container (which includes the wrapper process and everything inside it)
.TP
.B load
Load an image from a tar archive
.TP
.B login
Register or Login to a Docker registry server
.TP
.B logs
Fetch the logs of a container
.TP
.B port
Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
.TP
.B ps
List containers
.TP
.B pull
Pull an image or a repository from a Docker registry server
.TP
.B push
Push an image or a repository to a Docker registry server
.TP
.B restart
Restart a running container
.TP
.B rm
Remove one or more containers
.TP
.B rmi
Remove one or more images
.TP
.B run
Run a command in a new container
.TP
.B save
Save an image to a tar archive
.TP
.B search
Search for an image in the Docker index
.TP
.B start
Start a stopped container
.TP
.B stop
Stop a running container
.TP
.B tag
Tag an image into a repository
.TP
.B top
Lookup the running processes of a container
.TP
.B version
Show the Docker version information
.TP
.B wait
Block until a container stops, then print its exit code
.SH EXAMPLES
.sp
For specific examples please see the man page for the specific Docker command.
.sp
.SH HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
+4 -4
View File
@@ -13,18 +13,18 @@ usage() {
}
tmp() {
TMP=$(mktemp -d /tmp/alpine-docker-XXXXXXXXXX)
ROOTFS=$(mktemp -d /tmp/alpine-docker-rootfs-XXXXXXXXXX)
TMP=$(mktemp -d ${TMPDIR:-/var/tmp}/alpine-docker-XXXXXXXXXX)
ROOTFS=$(mktemp -d ${TMPDIR:-/var/tmp}/alpine-docker-rootfs-XXXXXXXXXX)
trap "rm -rf $TMP $ROOTFS" EXIT TERM INT
}
apkv() {
curl -s $REPO/$ARCH/APKINDEX.tar.gz | tar -Oxz |
curl -sSL $REPO/$ARCH/APKINDEX.tar.gz | tar -Oxz |
grep '^P:apk-tools-static$' -A1 | tail -n1 | cut -d: -f2
}
getapk() {
curl -s $REPO/$ARCH/apk-tools-static-$(apkv).apk |
curl -sSL $REPO/$ARCH/apk-tools-static-$(apkv).apk |
tar -xz -C $TMP sbin/apk.static
}
+18 -17
View File
@@ -5,34 +5,35 @@
set -e
hash pacstrap &>/dev/null || {
echo "Could not find pacstrap. Run pacman -S arch-install-scripts"
exit 1
echo "Could not find pacstrap. Run pacman -S arch-install-scripts"
exit 1
}
hash expect &>/dev/null || {
echo "Could not find expect. Run pacman -S expect"
exit 1
echo "Could not find expect. Run pacman -S expect"
exit 1
}
ROOTFS=$(mktemp -d /tmp/rootfs-archlinux-XXXXXXXXXX)
ROOTFS=$(mktemp -d ${TMPDIR:-/var/tmp}/rootfs-archlinux-XXXXXXXXXX)
chmod 755 $ROOTFS
# packages to ignore for space savings
PKGIGNORE=linux,jfsutils,lvm2,cryptsetup,groff,man-db,man-pages,mdadm,pciutils,pcmciautils,reiserfsprogs,s-nail,xfsprogs
expect <<EOF
set timeout 60
set send_slow {1 1}
spawn pacstrap -C ./mkimage-arch-pacman.conf -c -d -G -i $ROOTFS base haveged --ignore $PKGIGNORE
expect {
"Install anyway?" { send n\r; exp_continue }
"(default=all)" { send \r; exp_continue }
"Proceed with installation?" { send "\r"; exp_continue }
"skip the above package" {send "y\r"; exp_continue }
"checking" { exp_continue }
"loading" { exp_continue }
"installing" { exp_continue }
}
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- \$arg
}
set timeout 60
spawn pacstrap -C ./mkimage-arch-pacman.conf -c -d -G -i $ROOTFS base haveged --ignore $PKGIGNORE
expect {
-exact "anyway? \[Y/n\] " { send -- "n\r"; exp_continue }
-exact "(default=all): " { send -- "\r"; exp_continue }
-exact "installation? \[Y/n\]" { send -- "y\r"; exp_continue }
}
EOF
arch-chroot $ROOTFS /bin/sh -c "haveged -w 1024; pacman-key --init; pkill haveged; pacman -Rs --noconfirm haveged; pacman-key --populate archlinux"
+5 -1
View File
@@ -2,6 +2,10 @@
# Generate a very minimal filesystem based on busybox-static,
# and load it into the local docker under the name "busybox".
echo >&2
echo >&2 'warning: this script is deprecated - see mkimage.sh and mkimage/busybox-static'
echo >&2
BUSYBOX=$(which busybox)
[ "$BUSYBOX" ] || {
echo "Sorry, I could not locate busybox."
@@ -10,7 +14,7 @@ BUSYBOX=$(which busybox)
}
set -e
ROOTFS=/tmp/rootfs-busybox-$$-$RANDOM
ROOTFS=${TMPDIR:-/var/tmp}/rootfs-busybox-$$-$RANDOM
mkdir $ROOTFS
cd $ROOTFS
+3 -3
View File
@@ -14,9 +14,9 @@ die () {
ISO=${1}
ROOTFS=$(mktemp -d /tmp/rootfs-crux-XXXXXXXXXX)
CRUX=$(mktemp -d /tmp/crux-XXXXXXXXXX)
TMP=$(mktemp -d /tmp/XXXXXXXXXX)
ROOTFS=$(mktemp -d ${TMPDIR:-/var/tmp}/rootfs-crux-XXXXXXXXXX)
CRUX=$(mktemp -d ${TMPDIR:-/var/tmp}/crux-XXXXXXXXXX)
TMP=$(mktemp -d ${TMPDIR:-/var/tmp}/XXXXXXXXXX)
VERSION=$(basename --suffix=.iso $ISO | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
+7 -3
View File
@@ -1,6 +1,10 @@
#!/usr/bin/env bash
set -e
echo >&2
echo >&2 'warning: this script is deprecated - see mkimage.sh and mkimage/debootstrap'
echo >&2
variant='minbase'
include='iproute,iputils-ping'
arch='amd64' # intentionally undocumented for now
@@ -43,7 +47,7 @@ usage() {
debianStable=wheezy
debianUnstable=sid
# this should match the name found at http://releases.ubuntu.com/
ubuntuLatestLTS=precise
ubuntuLatestLTS=trusty
# this should match the name found at http://releases.tanglu.org/
tangluLatest=aequorea
@@ -114,7 +118,7 @@ fi
# will be filled in later, if [ -z "$skipDetection" ]
lsbDist=''
target="/tmp/docker-rootfs-debootstrap-$suite-$$-$RANDOM"
target="${TMPDIR:-/var/tmp}/docker-rootfs-debootstrap-$suite-$$-$RANDOM"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
returnTo="$(pwd -P)"
@@ -140,7 +144,7 @@ if [ -z "$strictDebootstrap" ]; then
# initctl (for some pesky upstart scripts)
sudo chroot . dpkg-divert --local --rename --add /sbin/initctl
sudo ln -sf /bin/true sbin/initctl
# see https://github.com/dotcloud/docker/issues/446#issuecomment-16953173
# see https://github.com/docker/docker/issues/446#issuecomment-16953173
# shrink the image, since apt makes us fat (wheezy: ~157.5MB vs ~120MB)
sudo chroot . apt-get clean
+5 -1
View File
@@ -8,6 +8,10 @@
set -e
echo >&2
echo >&2 'warning: this script is deprecated - see mkimage.sh and mkimage/rinse'
echo >&2
repo="$1"
distro="$2"
mirror="$3"
@@ -35,7 +39,7 @@ if [ ! "$repo" ] || [ ! "$distro" ]; then
exit 1
fi
target="/tmp/docker-rootfs-rinse-$distro-$$-$RANDOM"
target="${TMPDIR:-/var/tmp}/docker-rootfs-rinse-$distro-$$-$RANDOM"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
returnTo="$(pwd -P)"
+1 -1
View File
@@ -15,7 +15,7 @@ SOCAT=$(which socat)
shopt -s extglob
set -ex
ROOTFS=`mktemp -d /tmp/rootfs-busybox.XXXXXXXXXX`
ROOTFS=`mktemp -d ${TMPDIR:-/var/tmp}/rootfs-busybox.XXXXXXXXXX`
trap "rm -rf $ROOTFS" INT QUIT TERM
cd $ROOTFS
+107
View File
@@ -0,0 +1,107 @@
#!/usr/bin/env bash
set -e
mkimg="$(basename "$0")"
usage() {
echo >&2 "usage: $mkimg [-d dir] [-t tag] script [script-args]"
echo >&2 " ie: $mkimg -t someuser/debian debootstrap --variant=minbase jessie"
echo >&2 " $mkimg -t someuser/ubuntu debootstrap --include=ubuntu-minimal --components main,universe trusty"
echo >&2 " $mkimg -t someuser/busybox busybox-static"
echo >&2 " $mkimg -t someuser/centos:5 rinse --distribution centos-5"
echo >&2 " $mkimg -t someuser/mageia:4 mageia-urpmi --version=4"
echo >&2 " $mkimg -t someuser/mageia:4 mageia-urpmi --version=4 --mirror=http://somemirror/"
exit 1
}
scriptDir="$(dirname "$(readlink -f "$BASH_SOURCE")")/mkimage"
optTemp=$(getopt --options '+d:t:h' --longoptions 'dir:,tag:,help' --name "$mkimg" -- "$@")
eval set -- "$optTemp"
unset optTemp
dir=
tag=
while true; do
case "$1" in
-d|--dir) dir="$2" ; shift 2 ;;
-t|--tag) tag="$2" ; shift 2 ;;
-h|--help) usage ;;
--) shift ; break ;;
esac
done
script="$1"
[ "$script" ] || usage
shift
if [ ! -x "$scriptDir/$script" ]; then
echo >&2 "error: $script does not exist or is not executable"
echo >&2 " see $scriptDir for possible scripts"
exit 1
fi
# don't mistake common scripts like .febootstrap-minimize as image-creators
if [[ "$script" == .* ]]; then
echo >&2 "error: $script is a script helper, not a script"
echo >&2 " see $scriptDir for possible scripts"
exit 1
fi
delDir=
if [ -z "$dir" ]; then
dir="$(mktemp -d ${TMPDIR:-/var/tmp}/docker-mkimage.XXXXXXXXXX)"
delDir=1
fi
rootfsDir="$dir/rootfs"
( set -x; mkdir -p "$rootfsDir" )
# pass all remaining arguments to $script
"$scriptDir/$script" "$rootfsDir" "$@"
# Docker mounts tmpfs at /dev and procfs at /proc so we can remove them
rm -rf "$rootfsDir/dev" "$rootfsDir/proc"
mkdir -p "$rootfsDir/dev" "$rootfsDir/proc"
# make sure /etc/resolv.conf has something useful in it
mkdir -p "$rootfsDir/etc"
cat > "$rootfsDir/etc/resolv.conf" <<'EOF'
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF
tarFile="$dir/rootfs.tar.xz"
touch "$tarFile"
(
set -x
tar --numeric-owner -caf "$tarFile" -C "$rootfsDir" --transform='s,^./,,' .
)
echo >&2 "+ cat > '$dir/Dockerfile'"
cat > "$dir/Dockerfile" <<'EOF'
FROM scratch
ADD rootfs.tar.xz /
EOF
# if our generated image has a decent shell, let's set a default command
for shell in /bin/bash /usr/bin/fish /usr/bin/zsh /bin/sh; do
if [ -x "$rootfsDir/$shell" ]; then
( set -x; echo 'CMD ["'"$shell"'"]' >> "$dir/Dockerfile" )
break
fi
done
( set -x; rm -rf "$rootfsDir" )
if [ "$tag" ]; then
( set -x; docker build -t "$tag" "$dir" )
elif [ "$delDir" ]; then
# if we didn't specify a tag and we're going to delete our dir, let's just build an untagged image so that we did _something_
( set -x; docker build "$dir" )
fi
if [ "$delDir" ]; then
( set -x; rm -rf "$dir" )
fi
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
set -e
rootfsDir="$1"
shift
(
cd "$rootfsDir"
# effectively: febootstrap-minimize --keep-zoneinfo --keep-rpmdb --keep-services "$target"
# locales
rm -rf usr/{{lib,share}/locale,{lib,lib64}/gconv,bin/localedef,sbin/build-locale-archive}
# docs
rm -rf usr/share/{man,doc,info,gnome/help}
# cracklib
rm -rf usr/share/cracklib
# i18n
rm -rf usr/share/i18n
# yum cache
rm -rf var/cache/yum
mkdir -p --mode=0755 var/cache/yum
# sln
rm -rf sbin/sln
# ldconfig
#rm -rf sbin/ldconfig
rm -rf etc/ld.so.cache var/cache/ldconfig
mkdir -p --mode=0755 var/cache/ldconfig
)
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
set -e
rootfsDir="$1"
shift
busybox="$(which busybox 2>/dev/null || true)"
if [ -z "$busybox" ]; then
echo >&2 'error: busybox: not found'
echo >&2 ' install it with your distribution "busybox-static" package'
exit 1
fi
if ! ldd "$busybox" 2>&1 | grep -q 'not a dynamic executable'; then
echo >&2 "error: '$busybox' appears to be a dynamic executable"
echo >&2 ' you should install your distribution "busybox-static" package instead'
exit 1
fi
mkdir -p "$rootfsDir/bin"
rm -f "$rootfsDir/bin/busybox" # just in case
cp "$busybox" "$rootfsDir/bin/busybox"
(
cd "$rootfsDir"
IFS=$'\n'
modules=( $(bin/busybox --list-modules) )
unset IFS
for module in "${modules[@]}"; do
mkdir -p "$(dirname "$module")"
ln -sf /bin/busybox "$module"
done
)
+193
View File
@@ -0,0 +1,193 @@
#!/usr/bin/env bash
set -e
rootfsDir="$1"
shift
# we have to do a little fancy footwork to make sure "rootfsDir" becomes the second non-option argument to debootstrap
before=()
while [ $# -gt 0 ] && [[ "$1" == -* ]]; do
before+=( "$1" )
shift
done
suite="$1"
shift
(
set -x
debootstrap "${before[@]}" "$suite" "$rootfsDir" "$@"
)
# now for some Docker-specific tweaks
# prevent init scripts from running during install/update
echo >&2 "+ echo exit 101 > '$rootfsDir/usr/sbin/policy-rc.d'"
cat > "$rootfsDir/usr/sbin/policy-rc.d" <<'EOF'
#!/bin/sh
# For most Docker users, "apt-get install" only happens during "docker build",
# where starting services doesn't work and often fails in humorous ways. This
# prevents those failures by stopping the services from attempting to start.
exit 101
EOF
chmod +x "$rootfsDir/usr/sbin/policy-rc.d"
# prevent upstart scripts from running during install/update
(
set -x
chroot "$rootfsDir" dpkg-divert --local --rename --add /sbin/initctl
cp -a "$rootfsDir/usr/sbin/policy-rc.d" "$rootfsDir/sbin/initctl"
sed -i 's/^exit.*/exit 0/' "$rootfsDir/sbin/initctl"
)
# shrink a little, since apt makes us cache-fat (wheezy: ~157.5MB vs ~120MB)
( set -x; chroot "$rootfsDir" apt-get clean )
# Ubuntu 10.04 sucks... :)
if strings "$rootfsDir/usr/bin/dpkg" | grep -q unsafe-io; then
# force dpkg not to call sync() after package extraction (speeding up installs)
echo >&2 "+ echo force-unsafe-io > '$rootfsDir/etc/dpkg/dpkg.cfg.d/docker-apt-speedup'"
cat > "$rootfsDir/etc/dpkg/dpkg.cfg.d/docker-apt-speedup" <<-'EOF'
# For most Docker users, package installs happen during "docker build", which
# doesn't survive power loss and gets restarted clean afterwards anyhow, so
# this minor tweak gives us a nice speedup (much nicer on spinning disks,
# obviously).
force-unsafe-io
EOF
fi
if [ -d "$rootfsDir/etc/apt/apt.conf.d" ]; then
# _keep_ us lean by effectively running "apt-get clean" after every install
aptGetClean='"rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true";'
echo >&2 "+ cat > '$rootfsDir/etc/apt/apt.conf.d/docker-clean'"
cat > "$rootfsDir/etc/apt/apt.conf.d/docker-clean" <<-EOF
# Since for most Docker users, package installs happen in "docker build" steps,
# they essentially become individual layers due to the way Docker handles
# layering, especially using CoW filesystems. What this means for us is that
# the caches that APT keeps end up just wasting space in those layers, making
# our layers unnecessarily large (especially since we'll normally never use
# these caches again and will instead just "docker build" again and make a brand
# new image).
# Ideally, these would just be invoking "apt-get clean", but in our testing,
# that ended up being cyclic and we got stuck on APT's lock, so we get this fun
# creation that's essentially just "apt-get clean".
DPkg::Post-Invoke { ${aptGetClean} };
APT::Update::Post-Invoke { ${aptGetClean} };
Dir::Cache::pkgcache "";
Dir::Cache::srcpkgcache "";
# Note that we do realize this isn't the ideal way to do this, and are always
# open to better suggestions (https://github.com/docker/docker/issues).
EOF
# remove apt-cache translations for fast "apt-get update"
echo >&2 "+ echo Acquire::Languages 'none' > '$rootfsDir/etc/apt/apt.conf.d/docker-no-languages'"
cat > "$rootfsDir/etc/apt/apt.conf.d/docker-no-languages" <<-'EOF'
# In Docker, we don't often need the "Translations" files, so we're just wasting
# time and space by downloading them, and this inhibits that. For users that do
# need them, it's a simple matter to delete this file and "apt-get update". :)
Acquire::Languages "none";
EOF
echo >&2 "+ echo Acquire::GzipIndexes 'true' > '$rootfsDir/etc/apt/apt.conf.d/docker-gzip-indexes'"
cat > "$rootfsDir/etc/apt/apt.conf.d/docker-gzip-indexes" <<-'EOF'
# Since Docker users using "RUN apt-get update && apt-get install -y ..." in
# their Dockerfiles don't go delete the lists files afterwards, we want them to
# be as small as possible on-disk, so we explicitly request "gz" versions and
# tell Apt to keep them gzipped on-disk.
# For comparison, an "apt-get update" layer without this on a pristine
# "debian:wheezy" base image was "29.88 MB", where with this it was only
# "8.273 MB".
Acquire::GzipIndexes "true";
Acquire::CompressionTypes::Order:: "gz";
EOF
fi
if [ -z "$DONT_TOUCH_SOURCES_LIST" ]; then
# tweak sources.list, where appropriate
lsbDist=
if [ -z "$lsbDist" -a -r "$rootfsDir/etc/os-release" ]; then
lsbDist="$(. "$rootfsDir/etc/os-release" && echo "$ID")"
fi
if [ -z "$lsbDist" -a -r "$rootfsDir/etc/lsb-release" ]; then
lsbDist="$(. "$rootfsDir/etc/lsb-release" && echo "$DISTRIB_ID")"
fi
if [ -z "$lsbDist" -a -r "$rootfsDir/etc/debian_version" ]; then
lsbDist='Debian'
fi
# normalize to lowercase for easier matching
lsbDist="$(echo "$lsbDist" | tr '[:upper:]' '[:lower:]')"
case "$lsbDist" in
debian)
# updates and security!
if [ "$suite" != 'sid' -a "$suite" != 'unstable' ]; then
(
set -x
sed -i "
p;
s/ $suite / ${suite}-updates /
" "$rootfsDir/etc/apt/sources.list"
echo "deb http://security.debian.org $suite/updates main" >> "$rootfsDir/etc/apt/sources.list"
# LTS
if [ "$suite" = 'squeeze' -o "$suite" = 'oldstable' ]; then
head -1 "$rootfsDir/etc/apt/sources.list" \
| sed "s/ $suite / squeeze-lts /" \
>> "$rootfsDir/etc/apt/sources.list"
fi
)
fi
;;
ubuntu)
# add the updates and security repositories
(
set -x
sed -i "
p;
s/ $suite / ${suite}-updates /; p;
s/ $suite-updates / ${suite}-security /
" "$rootfsDir/etc/apt/sources.list"
)
;;
tanglu)
# add the updates repository
if [ "$suite" != 'devel' ]; then
(
set -x
sed -i "
p;
s/ $suite / ${suite}-updates /
" "$rootfsDir/etc/apt/sources.list"
)
fi
;;
steamos)
# add contrib and non-free if "main" is the only component
(
set -x
sed -i "s/ $suite main$/ $suite main contrib non-free/" "$rootfsDir/etc/apt/sources.list"
)
;;
esac
fi
(
set -x
# make sure we're fully up-to-date
chroot "$rootfsDir" bash -c 'apt-get update && apt-get dist-upgrade -y'
# delete all the apt list files since they're big and get stale quickly
rm -rf "$rootfsDir/var/lib/apt/lists"/*
# this forces "apt-get update" in dependent images, which is also good
mkdir "$rootfsDir/var/lib/apt/lists/partial" # Lucid... "E: Lists directory /var/lib/apt/lists/partial is missing."
)
+61
View File
@@ -0,0 +1,61 @@
#!/usr/bin/env bash
#
# Needs to be run from Mageia 4 or greater for kernel support for docker.
#
# Mageia 4 does not have docker available in official repos, so please
# install and run the docker binary manually.
#
# Tested working versions are for Mageia 2 onwards (inc. cauldron).
#
set -e
rootfsDir="$1"
shift
optTemp=$(getopt --options '+v:,m:' --longoptions 'version:,mirror:' --name mageia-urpmi -- "$@")
eval set -- "$optTemp"
unset optTemp
installversion=
mirror=
while true; do
case "$1" in
-v|--version) installversion="$2" ; shift 2 ;;
-m|--mirror) mirror="$2" ; shift 2 ;;
--) shift ; break ;;
esac
done
if [ -z $installversion ]; then
# Attempt to match host version
if [ -r /etc/mageia-release ]; then
installversion="$(sed 's/^[^0-9\]*\([0-9.]\+\).*$/\1/' /etc/mageia-release)"
else
echo "Error: no version supplied and unable to detect host mageia version"
exit 1
fi
fi
if [ -z $mirror ]; then
# No mirror provided, default to mirrorlist
mirror="--mirrorlist https://mirrors.mageia.org/api/mageia.$installversion.x86_64.list"
fi
(
set -x
urpmi.addmedia --distrib \
$mirror \
--urpmi-root "$rootfsDir"
urpmi basesystem-minimal urpmi \
--auto \
--no-suggests \
--urpmi-root "$rootfsDir" \
--root "$rootfsDir"
)
"$(dirname "$BASH_SOURCE")/.febootstrap-minimize" "$rootfsDir"
if [ -d "$rootfsDir/etc/sysconfig" ]; then
# allow networking init scripts inside the container to work without extra steps
echo 'NETWORKING=yes' > "$rootfsDir/etc/sysconfig/network"
fi
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -e
rootfsDir="$1"
shift
# specifying --arch below is safe because "$@" can override it and the "latest" one wins :)
(
set -x
rinse --directory "$rootfsDir" --arch amd64 "$@"
)
"$(dirname "$BASH_SOURCE")/.febootstrap-minimize" "$rootfsDir"
if [ -d "$rootfsDir/etc/sysconfig" ]; then
# allow networking init scripts inside the container to work without extra steps
echo 'NETWORKING=yes' > "$rootfsDir/etc/sysconfig/network"
fi
# make sure we're fully up-to-date, too
(
set -x
chroot "$rootfsDir" yum update -y
)
+64
View File
@@ -0,0 +1,64 @@
#!/bin/sh
set -e
dir="$1"
if [ -z "$dir" ]; then
{
echo 'This script is for destroying old /var/lib/docker directories more safely than'
echo ' "rm -rf", which can cause data loss or other serious issues.'
echo
echo "usage: $0 directory"
echo " ie: $0 /var/lib/docker"
} >&2
exit 1
fi
if [ "$(id -u)" != 0 ]; then
echo >&2 "error: $0 must be run as root"
exit 1
fi
if [ ! -d "$dir" ]; then
echo >&2 "error: $dir is not a directory"
exit 1
fi
dir="$(readlink -f "$dir")"
echo
echo "Nuking $dir ..."
echo ' (if this is wrong, press Ctrl+C NOW!)'
echo
( set -x; sleep 10 )
echo
dir_in_dir() {
inner="$1"
outer="$2"
[ "${inner#$outer}" != "$inner" ]
}
# let's start by unmounting any submounts in $dir
# (like -v /home:... for example - DON'T DELETE MY HOME DIRECTORY BRU!)
for mount in $(awk '{ print $5 }' /proc/self/mountinfo); do
mount="$(readlink -f "$mount" || true)"
if dir_in_dir "$mount" "$dir"; then
( set -x; umount -f "$mount" )
fi
done
# now, let's go destroy individual btrfs subvolumes, if any exist
if command -v btrfs &> /dev/null; then
root="$(df "$dir" | awk 'NR>1 { print $NF }')"
for subvol in $(btrfs subvolume list -o "$root" 2>/dev/null | awk -F' path ' '{ print $2 }'); do
subvolDir="$root/$subvol"
if dir_in_dir "$subvolDir" "$dir"; then
( set -x; btrfs subvolume delete "$subvolDir" )
fi
done
fi
# finally, DESTROY ALL THINGS
( set -x; rm -rf "$dir" )
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
# Auto sign all commits to allow them to be used by the Docker project.
# see https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md#sign-your-work
#
GH_USER=$(git config --get github.user)
SOB=$(git var GIT_AUTHOR_IDENT | sed -n "s/^\(.*>\).*$/Docker-DCO-1.1-Signed-off-by: \1 \(github: $GH_USER\)/p")
grep -qs "^$SOB" "$1" || {
echo
echo "$SOB"
} >> "$1"
@@ -12,7 +12,7 @@
<array>
<dict>
<key>match</key>
<string>^\s*(ONBUILD\s+)?(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|VOLUME|USER|WORKDIR)\s</string>
<string>^\s*(ONBUILD\s+)?(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|VOLUME|USER|WORKDIR|COPY)\s</string>
<key>captures</key>
<dict>
<key>0</key>
+1 -1
View File
@@ -11,7 +11,7 @@ let b:current_syntax = "dockerfile"
syntax case ignore
syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|CMD|ENTRYPOINT|ENV|EXPOSE|FROM|MAINTAINER|RUN|USER|VOLUME|WORKDIR)\s/
syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|CMD|ENTRYPOINT|ENV|EXPOSE|FROM|MAINTAINER|RUN|USER|VOLUME|WORKDIR|COPY)\s/
highlight link dockerfileKeyword Keyword
syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/
+4 -4
View File
@@ -31,20 +31,20 @@ stop on runlevel [!2345]
respawn
script
/usr/bin/docker -d -H=tcp://0.0.0.0:4243
/usr/bin/docker -d -H=tcp://0.0.0.0:2375
end script
```
Once that's done, you need to set up a SSH tunnel between your host machine and the vagrant machine that's running Docker. This can be done by running the following command in a host terminal:
```
ssh -L 4243:localhost:4243 -p 2222 vagrant@localhost
ssh -L 2375:localhost:2375 -p 2222 vagrant@localhost
```
(The first 4243 is what your host can connect to, the second 4243 is what port Docker is running on in the vagrant machine, and the 2222 is the port Vagrant is providing for SSH. If VirtualBox is the VM you're using, you can see what value "2222" should be by going to: Network > Adapter 1 > Advanced > Port Forwarding in the VirtualBox GUI.)
(The first 2375 is what your host can connect to, the second 2375 is what port Docker is running on in the vagrant machine, and the 2222 is the port Vagrant is providing for SSH. If VirtualBox is the VM you're using, you can see what value "2222" should be by going to: Network > Adapter 1 > Advanced > Port Forwarding in the VirtualBox GUI.)
Note that because the port has been changed, to run docker commands from within the command line you must run them like this:
```
sudo docker -H 0.0.0.0:4243 < commands for docker >
sudo docker -H 0.0.0.0:2375 < commands for docker >
```
+6
View File
@@ -0,0 +1,6 @@
Solomon Hykes <solomon@docker.com> (@shykes)
Victor Vieux <vieux@docker.com> (@vieux)
Michael Crosby <michael@crosbymichael.com> (@crosbymichael)
Cristian Staretu <cristian.staretu@gmail.com> (@unclejack)
Tibor Vass <teabee89@gmail.com> (@tiborvass)
volumes.go: Brian Goff <cpuguy83@gmail.com> (@cpuguy83)
+10
View File
@@ -0,0 +1,10 @@
This directory contains code pertaining to running containers and storing images
Code pertaining to running containers:
- execdriver
- networkdriver
Code pertaining to storing images:
- graphdriver
+129 -16
View File
@@ -1,11 +1,124 @@
package daemon
import (
"encoding/json"
"fmt"
"io"
"os"
"time"
"github.com/dotcloud/docker/utils"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/jsonlog"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/utils"
)
func (daemon *Daemon) ContainerAttach(job *engine.Job) engine.Status {
if len(job.Args) != 1 {
return job.Errorf("Usage: %s CONTAINER\n", job.Name)
}
var (
name = job.Args[0]
logs = job.GetenvBool("logs")
stream = job.GetenvBool("stream")
stdin = job.GetenvBool("stdin")
stdout = job.GetenvBool("stdout")
stderr = job.GetenvBool("stderr")
)
container := daemon.Get(name)
if container == nil {
return job.Errorf("No such container: %s", name)
}
//logs
if logs {
cLog, err := container.ReadLog("json")
if err != nil && os.IsNotExist(err) {
// Legacy logs
log.Debugf("Old logs format")
if stdout {
cLog, err := container.ReadLog("stdout")
if err != nil {
log.Errorf("Error reading logs (stdout): %s", err)
} else if _, err := io.Copy(job.Stdout, cLog); err != nil {
log.Errorf("Error streaming logs (stdout): %s", err)
}
}
if stderr {
cLog, err := container.ReadLog("stderr")
if err != nil {
log.Errorf("Error reading logs (stderr): %s", err)
} else if _, err := io.Copy(job.Stderr, cLog); err != nil {
log.Errorf("Error streaming logs (stderr): %s", err)
}
}
} else if err != nil {
log.Errorf("Error reading logs (json): %s", err)
} else {
dec := json.NewDecoder(cLog)
for {
l := &jsonlog.JSONLog{}
if err := dec.Decode(l); err == io.EOF {
break
} else if err != nil {
log.Errorf("Error streaming logs: %s", err)
break
}
if l.Stream == "stdout" && stdout {
fmt.Fprintf(job.Stdout, "%s", l.Log)
}
if l.Stream == "stderr" && stderr {
fmt.Fprintf(job.Stderr, "%s", l.Log)
}
}
}
}
//stream
if stream {
var (
cStdin io.ReadCloser
cStdout, cStderr io.Writer
cStdinCloser io.Closer
)
if stdin {
r, w := io.Pipe()
go func() {
defer w.Close()
defer log.Debugf("Closing buffered stdin pipe")
io.Copy(w, job.Stdin)
}()
cStdin = r
cStdinCloser = job.Stdin
}
if stdout {
cStdout = job.Stdout
}
if stderr {
cStderr = job.Stderr
}
<-daemon.Attach(container, cStdin, cStdinCloser, cStdout, cStderr)
// If we are in stdinonce mode, wait for the process to end
// otherwise, simply return
if container.Config.StdinOnce && !container.Config.Tty {
container.State.WaitStop(-1 * time.Second)
}
}
return engine.StatusOK
}
// FIXME: this should be private, and every outside subsystem
// should go through the "container_attach" job. But that would require
// that job to be properly documented, as well as the relationship betweem
// Attach and ContainerAttach.
//
// This method is in use by builder/builder.go.
func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinCloser io.Closer, stdout io.Writer, stderr io.Writer) chan error {
var (
cStdout, cStderr io.ReadCloser
@@ -19,8 +132,8 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
errors <- err
} else {
go func() {
utils.Debugf("attach: stdin: begin")
defer utils.Debugf("attach: stdin: end")
log.Debugf("attach: stdin: begin")
defer log.Debugf("attach: stdin: end")
// No matter what, when stdin is closed (io.Copy unblock), close stdout and stderr
if container.Config.StdinOnce && !container.Config.Tty {
defer cStdin.Close()
@@ -43,7 +156,7 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
err = nil
}
if err != nil {
utils.Errorf("attach: stdin: %s", err)
log.Errorf("attach: stdin: %s", err)
}
errors <- err
}()
@@ -56,8 +169,8 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
} else {
cStdout = p
go func() {
utils.Debugf("attach: stdout: begin")
defer utils.Debugf("attach: stdout: end")
log.Debugf("attach: stdout: begin")
defer log.Debugf("attach: stdout: end")
// If we are in StdinOnce mode, then close stdin
if container.Config.StdinOnce && stdin != nil {
defer stdin.Close()
@@ -70,7 +183,7 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
err = nil
}
if err != nil {
utils.Errorf("attach: stdout: %s", err)
log.Errorf("attach: stdout: %s", err)
}
errors <- err
}()
@@ -81,7 +194,7 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
defer stdinCloser.Close()
}
if cStdout, err := container.StdoutPipe(); err != nil {
utils.Errorf("attach: stdout pipe: %s", err)
log.Errorf("attach: stdout pipe: %s", err)
} else {
io.Copy(&utils.NopWriter{}, cStdout)
}
@@ -94,8 +207,8 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
} else {
cStderr = p
go func() {
utils.Debugf("attach: stderr: begin")
defer utils.Debugf("attach: stderr: end")
log.Debugf("attach: stderr: begin")
defer log.Debugf("attach: stderr: end")
// If we are in StdinOnce mode, then close stdin
if container.Config.StdinOnce && stdin != nil {
defer stdin.Close()
@@ -108,7 +221,7 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
err = nil
}
if err != nil {
utils.Errorf("attach: stderr: %s", err)
log.Errorf("attach: stderr: %s", err)
}
errors <- err
}()
@@ -120,7 +233,7 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
}
if cStderr, err := container.StderrPipe(); err != nil {
utils.Errorf("attach: stdout pipe: %s", err)
log.Errorf("attach: stdout pipe: %s", err)
} else {
io.Copy(&utils.NopWriter{}, cStderr)
}
@@ -140,14 +253,14 @@ func (daemon *Daemon) Attach(container *Container, stdin io.ReadCloser, stdinClo
// FIXME: how to clean up the stdin goroutine without the unwanted side effect
// of closing the passed stdin? Add an intermediary io.Pipe?
for i := 0; i < nJobs; i += 1 {
utils.Debugf("attach: waiting for job %d/%d", i+1, nJobs)
log.Debugf("attach: waiting for job %d/%d", i+1, nJobs)
if err := <-errors; err != nil {
utils.Errorf("attach: job %d returned error %s, aborting all jobs", i+1, err)
log.Errorf("attach: job %d returned error %s, aborting all jobs", i+1, err)
return err
}
utils.Debugf("attach: job %d completed successfully", i+1)
log.Debugf("attach: job %d completed successfully", i+1)
}
utils.Debugf("attach: all jobs completed successfully")
log.Debugf("attach: all jobs completed successfully")
return nil
})
}
+253 -85
View File
@@ -1,4 +1,4 @@
package server
package daemon
import (
"crypto/sha256"
@@ -10,21 +10,109 @@ import (
"io/ioutil"
"net/url"
"os"
"os/exec"
"path"
"path/filepath"
"reflect"
"regexp"
"sort"
"strings"
"syscall"
"time"
"github.com/dotcloud/docker/archive"
"github.com/dotcloud/docker/daemon"
"github.com/dotcloud/docker/nat"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/runconfig"
"github.com/dotcloud/docker/utils"
"github.com/docker/docker/archive"
"github.com/docker/docker/engine"
"github.com/docker/docker/nat"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/symlink"
"github.com/docker/docker/pkg/system"
"github.com/docker/docker/pkg/tarsum"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
)
func (daemon *Daemon) CmdBuild(job *engine.Job) engine.Status {
if len(job.Args) != 0 {
return job.Errorf("Usage: %s\n", job.Name)
}
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)
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 err != nil {
return job.Error(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)
}
context = c
} else if utils.IsURL(remoteURL) {
f, err := utils.Download(remoteURL)
if err != nil {
return job.Error(err)
}
defer f.Body.Close()
dockerFile, err := ioutil.ReadAll(f.Body)
if err != nil {
return job.Error(err)
}
c, err := archive.Generate("Dockerfile", string(dockerFile))
if err != nil {
return job.Error(err)
}
context = c
}
defer context.Close()
sf := utils.NewStreamFormatter(job.GetenvBool("json"))
b := NewBuildFile(daemon, daemon.eng,
&utils.StdoutFormater{
Writer: job.Stdout,
StreamFormatter: sf,
},
&utils.StderrFormater{
Writer: job.Stdout,
StreamFormatter: sf,
},
!suppressOutput, !noCache, rm, forceRm, job.Stdout, sf, authConfig, configFile)
id, err := b.Build(context)
if err != nil {
return job.Error(err)
}
if repoName != "" {
daemon.Repositories().Set(repoName, tag, id, false)
}
return engine.StatusOK
}
var (
ErrDockerfileEmpty = errors.New("Dockerfile cannot be empty")
)
@@ -36,20 +124,22 @@ type BuildFile interface {
}
type buildFile struct {
daemon *daemon.Daemon
srv *Server
daemon *Daemon
eng *engine.Engine
image string
maintainer string
config *runconfig.Config
contextPath string
context *utils.TarSum
context *tarsum.TarSum
verbose bool
utilizeCache bool
rm bool
forceRm bool
authConfig *registry.AuthConfig
configFile *registry.ConfigFile
tmpContainers map[string]struct{}
@@ -61,6 +151,9 @@ type buildFile struct {
// Deprecated, original writer used for ImagePull. To be removed.
outOld io.Writer
sf *utils.StreamFormatter
// cmdSet indicates is CMD was set in current Dockerfile
cmdSet bool
}
func (b *buildFile) clearTmp(containers map[string]struct{}) {
@@ -79,11 +172,21 @@ func (b *buildFile) CmdFrom(name string) error {
image, err := b.daemon.Repositories().LookupImage(name)
if err != nil {
if b.daemon.Graph().IsNotExist(err) {
remote, tag := utils.ParseRepositoryTag(name)
job := b.srv.Eng.Job("pull", remote, tag)
remote, tag := parsers.ParseRepositoryTag(name)
pullRegistryAuth := b.authConfig
if len(b.configFile.Configs) > 0 {
// The request came with a full auth config file, we prefer to use that
endpoint, _, err := registry.ResolveRepositoryName(remote)
if err != nil {
return err
}
resolvedAuth := b.configFile.ResolveAuthConfig(endpoint)
pullRegistryAuth = &resolvedAuth
}
job := b.eng.Job("pull", remote, tag)
job.SetenvBool("json", b.sf.Json())
job.SetenvBool("parallel", true)
job.SetenvJson("auth", b.configFile)
job.SetenvJson("authConfig", pullRegistryAuth)
job.Stdout.Add(b.outOld)
if err := job.Run(); err != nil {
return err
@@ -102,13 +205,18 @@ func (b *buildFile) CmdFrom(name string) error {
b.config = image.Config
}
if b.config.Env == nil || len(b.config.Env) == 0 {
b.config.Env = append(b.config.Env, "HOME=/", "PATH="+daemon.DefaultPathEnv)
b.config.Env = append(b.config.Env, "PATH="+DefaultPathEnv)
}
// Process ONBUILD triggers if they exist
if nTriggers := len(b.config.OnBuild); nTriggers != 0 {
fmt.Fprintf(b.errStream, "# Executing %d build triggers\n", nTriggers)
}
for n, step := range b.config.OnBuild {
// Copy the ONBUILD triggers, and remove them from the config, since the config will be commited.
onBuildTriggers := b.config.OnBuild
b.config.OnBuild = []string{}
for n, step := range onBuildTriggers {
splitStep := strings.Split(step, " ")
stepInstruction := strings.ToUpper(strings.Trim(splitStep[0], " "))
switch stepInstruction {
@@ -121,7 +229,6 @@ func (b *buildFile) CmdFrom(name string) error {
return err
}
}
b.config.OnBuild = []string{}
return nil
}
@@ -147,20 +254,20 @@ func (b *buildFile) CmdMaintainer(name string) error {
// probeCache checks to see if image-caching is enabled (`b.utilizeCache`)
// and if so attempts to look up the current `b.image` and `b.config` pair
// in the current server `b.srv`. If an image is found, probeCache returns
// 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 *buildFile) probeCache() (bool, error) {
if b.utilizeCache {
if cache, err := b.srv.ImageGetCached(b.image, b.config); err != nil {
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")
utils.Debugf("[BUILDER] Use cached version")
log.Debugf("[BUILDER] Use cached version")
b.image = cache.ID
return true, nil
} else {
utils.Debugf("[BUILDER] Cache miss")
log.Debugf("[BUILDER] Cache miss")
}
}
return false, nil
@@ -176,12 +283,13 @@ func (b *buildFile) CmdRun(args string) error {
}
cmd := b.config.Cmd
b.config.Cmd = nil
// set Cmd manually, this is special case only for Dockerfiles
b.config.Cmd = config.Cmd
runconfig.Merge(b.config, config)
defer func(cmd []string) { b.config.Cmd = cmd }(cmd)
utils.Debugf("Command to be executed: %v", b.config.Cmd)
log.Debugf("Command to be executed: %v", b.config.Cmd)
hit, err := b.probeCache()
if err != nil {
@@ -271,7 +379,7 @@ func (b *buildFile) CmdEnv(args string) error {
func (b *buildFile) buildCmdFromJson(args string) []string {
var cmd []string
if err := json.Unmarshal([]byte(args), &cmd); err != nil {
utils.Debugf("Error unmarshalling: %s, setting to /bin/sh -c", err)
log.Debugf("Error unmarshalling: %s, setting to /bin/sh -c", err)
cmd = []string{"/bin/sh", "-c", args}
}
return cmd
@@ -283,12 +391,17 @@ func (b *buildFile) CmdCmd(args string) error {
if err := b.commit("", b.config.Cmd, fmt.Sprintf("CMD %v", cmd)); err != nil {
return err
}
b.cmdSet = true
return nil
}
func (b *buildFile) CmdEntrypoint(args string) error {
entrypoint := b.buildCmdFromJson(args)
b.config.Entrypoint = entrypoint
// if there is no cmd in current Dockerfile - cleanup cmd
if !b.cmdSet {
b.config.Cmd = nil
}
if err := b.commit("", b.config.Cmd, fmt.Sprintf("ENTRYPOINT %v", entrypoint)); err != nil {
return err
}
@@ -325,7 +438,7 @@ func (b *buildFile) CmdInsert(args string) error {
}
func (b *buildFile) CmdCopy(args string) error {
return fmt.Errorf("COPY has been deprecated. Please use ADD instead")
return b.runContextCommand(args, false, false, "COPY")
}
func (b *buildFile) CmdWorkdir(workdir string) error {
@@ -384,24 +497,34 @@ func (b *buildFile) checkPathForAddition(orig string) error {
return nil
}
func (b *buildFile) addContext(container *daemon.Container, orig, dest string, remote bool) error {
func (b *buildFile) addContext(container *Container, orig, dest string, decompress bool) error {
var (
err error
origPath = path.Join(b.contextPath, orig)
destPath = path.Join(container.RootfsPath(), dest)
err error
destExists = true
origPath = path.Join(b.contextPath, orig)
destPath = path.Join(container.RootfsPath(), dest)
)
if destPath != container.RootfsPath() {
destPath, err = utils.FollowSymlinkInScope(destPath, container.RootfsPath())
destPath, err = symlink.FollowSymlinkInScope(destPath, container.RootfsPath())
if err != nil {
return err
}
}
// Preserve the trailing '/'
if strings.HasSuffix(dest, "/") {
if strings.HasSuffix(dest, "/") || dest == "." {
destPath = destPath + "/"
}
destStat, err := os.Stat(destPath)
if err != nil {
if !os.IsNotExist(err) {
return err
}
destExists = false
}
fi, err := os.Stat(origPath)
if err != nil {
if os.IsNotExist(err) {
@@ -410,45 +533,29 @@ func (b *buildFile) addContext(container *daemon.Container, orig, dest string, r
return err
}
chownR := func(destPath string, uid, gid int) error {
return filepath.Walk(destPath, func(path string, info os.FileInfo, err error) error {
if err := os.Lchown(path, uid, gid); err != nil {
return err
}
return nil
})
}
if fi.IsDir() {
if err := archive.CopyWithTar(origPath, destPath); err != nil {
return err
}
if err := chownR(destPath, 0, 0); err != nil {
return err
}
return nil
return copyAsDirectory(origPath, destPath, destExists)
}
// 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 / .
tarDest := destPath
if strings.HasSuffix(tarDest, "/") {
tarDest = filepath.Dir(destPath)
}
// If we are adding a remote file (or we've been told not to decompress), do not try to untar it
if decompress {
// 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 / .
tarDest := destPath
if strings.HasSuffix(tarDest, "/") {
tarDest = filepath.Dir(destPath)
}
// If we are adding a remote file, do not try to untar it
if !remote {
// try to successfully untar the orig
if err := archive.UntarPath(origPath, tarDest); err == nil {
return nil
} else if err != io.EOF {
log.Debugf("Couldn't untar %s to %s: %s", origPath, tarDest, err)
}
utils.Debugf("Couldn't untar %s to %s: %s", origPath, destPath, err)
}
// If that fails, just copy it as a regular file
// but do not use all the magic path handling for the tar path
if err := os.MkdirAll(path.Dir(destPath), 0755); err != nil {
return err
}
@@ -456,19 +563,21 @@ func (b *buildFile) addContext(container *daemon.Container, orig, dest string, r
return err
}
if err := chownR(destPath, 0, 0); err != nil {
return err
resPath := destPath
if destExists && destStat.IsDir() {
resPath = path.Join(destPath, path.Base(origPath))
}
return nil
return fixPermissions(resPath, 0, 0)
}
func (b *buildFile) CmdAdd(args string) error {
func (b *buildFile) runContextCommand(args string, allowRemote bool, allowDecompression bool, cmdName string) error {
if b.context == nil {
return fmt.Errorf("No context given. Impossible to use ADD")
return fmt.Errorf("No context given. Impossible to use %s", cmdName)
}
tmp := strings.SplitN(args, " ", 2)
if len(tmp) != 2 {
return fmt.Errorf("Invalid ADD format")
return fmt.Errorf("Invalid %s format", cmdName)
}
orig, err := b.ReplaceEnvMatches(strings.Trim(tmp[0], " \t"))
@@ -482,7 +591,8 @@ func (b *buildFile) CmdAdd(args string) error {
}
cmd := b.config.Cmd
b.config.Cmd = []string{"/bin/sh", "-c", fmt.Sprintf("#(nop) ADD %s in %s", orig, dest)}
b.config.Cmd = []string{"/bin/sh", "-c", fmt.Sprintf("#(nop) %s %s in %s", cmdName, orig, dest)}
defer func(cmd []string) { b.config.Cmd = cmd }(cmd)
b.config.Image = b.image
var (
@@ -490,11 +600,14 @@ func (b *buildFile) CmdAdd(args string) error {
destPath = dest
remoteHash string
isRemote bool
decompress = true
)
if utils.IsURL(orig) {
isRemote = utils.IsURL(orig)
if isRemote && !allowRemote {
return fmt.Errorf("Source can't be an URL for %s", cmdName)
} else if utils.IsURL(orig) {
// Initiate the download
isRemote = true
resp, err := utils.Download(orig)
if err != nil {
return err
@@ -521,6 +634,11 @@ func (b *buildFile) CmdAdd(args string) error {
}
tmpFile.Close()
// Remove the mtime of the newly created tmp file
if err := system.UtimesNano(tmpFileName, make([]syscall.Timespec, 2)); err != nil {
return err
}
origPath = path.Join(filepath.Base(tmpDirName), filepath.Base(tmpFileName))
// Process the checksum
@@ -528,7 +646,10 @@ func (b *buildFile) CmdAdd(args string) error {
if err != nil {
return err
}
tarSum := utils.TarSum{Reader: r, DisableCompression: true}
tarSum := &tarsum.TarSum{Reader: r, DisableCompression: true}
if _, err := io.Copy(ioutil.Discard, tarSum); err != nil {
return err
}
remoteHash = tarSum.Sum(nil)
r.Close()
@@ -588,7 +709,7 @@ func (b *buildFile) CmdAdd(args string) error {
hash = "file:" + h
}
}
b.config.Cmd = []string{"/bin/sh", "-c", fmt.Sprintf("#(nop) ADD %s in %s", hash, dest)}
b.config.Cmd = []string{"/bin/sh", "-c", fmt.Sprintf("#(nop) %s %s in %s", cmdName, hash, dest)}
hit, err := b.probeCache()
if err != nil {
return err
@@ -599,7 +720,7 @@ func (b *buildFile) CmdAdd(args string) error {
}
}
// Create the container and start it
// Create the container
container, _, err := b.daemon.Create(b.config, "")
if err != nil {
return err
@@ -611,24 +732,30 @@ func (b *buildFile) CmdAdd(args string) error {
}
defer container.Unmount()
if err := b.addContext(container, origPath, destPath, isRemote); err != nil {
if !allowDecompression || isRemote {
decompress = false
}
if err := b.addContext(container, origPath, destPath, decompress); err != nil {
return err
}
if err := b.commit(container.ID, cmd, fmt.Sprintf("ADD %s in %s", orig, dest)); err != nil {
if err := b.commit(container.ID, cmd, fmt.Sprintf("%s %s in %s", cmdName, orig, dest)); err != nil {
return err
}
b.config.Cmd = cmd
return nil
}
func (b *buildFile) create() (*daemon.Container, error) {
func (b *buildFile) CmdAdd(args string) error {
return b.runContextCommand(args, true, true, "ADD")
}
func (b *buildFile) create() (*Container, error) {
if b.image == "" {
return nil, fmt.Errorf("Please provide a source image with `from` prior to run")
}
b.config.Image = b.image
// Create the container and start it
// Create the container
c, _, err := b.daemon.Create(b.config, "")
if err != nil {
return nil, err
@@ -643,10 +770,15 @@ func (b *buildFile) create() (*daemon.Container, error) {
return c, nil
}
func (b *buildFile) run(c *daemon.Container) error {
func (b *buildFile) run(c *Container) error {
var errCh chan error
if b.verbose {
errCh = utils.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, nil, nil, b.outStream, b.errStream)
})
}
@@ -663,7 +795,7 @@ func (b *buildFile) run(c *daemon.Container) error {
}
// Wait for it to finish
if ret := c.Wait(); ret != 0 {
if ret, _ := c.State.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),
Code: ret,
@@ -718,7 +850,7 @@ func (b *buildFile) commit(id string, autoCmd []string, comment string) error {
autoConfig := *b.config
autoConfig.Cmd = autoCmd
// Commit the container
image, err := b.daemon.Commit(container, "", "", "", b.maintainer, &autoConfig)
image, err := b.daemon.Commit(container, "", "", "", b.maintainer, true, &autoConfig)
if err != nil {
return err
}
@@ -728,7 +860,7 @@ func (b *buildFile) commit(id string, autoCmd []string, comment string) error {
}
// Long lines can be split with a backslash
var lineContinuation = regexp.MustCompile(`\s*\\\s*\n`)
var lineContinuation = regexp.MustCompile(`\\\s*\n`)
func (b *buildFile) Build(context io.Reader) (string, error) {
tmpdirPath, err := ioutil.TempDir("", "docker-build")
@@ -741,7 +873,7 @@ func (b *buildFile) Build(context io.Reader) (string, error) {
return "", err
}
b.context = &utils.TarSum{Reader: decompressedStream, DisableCompression: true}
b.context = &tarsum.TarSum{Reader: decompressedStream, DisableCompression: true}
if err := archive.Untar(b.context, tmpdirPath, nil); err != nil {
return "", err
}
@@ -769,6 +901,9 @@ func (b *buildFile) Build(context io.Reader) (string, error) {
continue
}
if err := b.BuildStep(fmt.Sprintf("%d", stepN), line); err != nil {
if b.forceRm {
b.clearTmp(b.tmpContainers)
}
return "", err
} else if b.rm {
b.clearTmp(b.tmpContainers)
@@ -821,10 +956,41 @@ func stripComments(raw []byte) string {
return strings.Join(out, "\n")
}
func NewBuildFile(srv *Server, outStream, errStream io.Writer, verbose, utilizeCache, rm bool, outOld io.Writer, sf *utils.StreamFormatter, configFile *registry.ConfigFile) BuildFile {
func copyAsDirectory(source, destination string, destinationExists bool) error {
if err := archive.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)
}
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 NewBuildFile(d *Daemon, eng *engine.Engine, outStream, errStream io.Writer, verbose, utilizeCache, rm bool, forceRm bool, outOld io.Writer, sf *utils.StreamFormatter, auth *registry.AuthConfig, authConfigFile *registry.ConfigFile) BuildFile {
return &buildFile{
daemon: srv.daemon,
srv: srv,
daemon: d,
eng: eng,
config: &runconfig.Config{},
outStream: outStream,
errStream: errStream,
@@ -833,8 +999,10 @@ func NewBuildFile(srv *Server, outStream, errStream io.Writer, verbose, utilizeC
verbose: verbose,
utilizeCache: utilizeCache,
rm: rm,
forceRm: forceRm,
sf: sf,
configFile: configFile,
authConfig: auth,
configFile: authConfigFile,
outOld: outOld,
}
}
+32
View File
@@ -0,0 +1,32 @@
package daemon
import (
"github.com/docker/docker/engine"
)
func (daemon *Daemon) ContainerChanges(job *engine.Job) engine.Status {
if n := len(job.Args); n != 1 {
return job.Errorf("Usage: %s CONTAINER", job.Name)
}
name := job.Args[0]
if container := daemon.Get(name); container != nil {
outs := engine.NewTable("", 0)
changes, err := container.Changes()
if err != nil {
return job.Error(err)
}
for _, change := range changes {
out := &engine.Env{}
if err := out.Import(change); err != nil {
return job.Error(err)
}
outs.Add(out)
}
if _, err := outs.WriteListTo(job.Stdout); err != nil {
return job.Error(err)
}
} else {
return job.Errorf("No such container: %s", name)
}
return engine.StatusOK
}
+84
View File
@@ -0,0 +1,84 @@
package daemon
import (
"github.com/docker/docker/engine"
"github.com/docker/docker/image"
"github.com/docker/docker/runconfig"
)
func (daemon *Daemon) ContainerCommit(job *engine.Job) engine.Status {
if len(job.Args) != 1 {
return job.Errorf("Not enough arguments. Usage: %s CONTAINER\n", job.Name)
}
name := job.Args[0]
container := daemon.Get(name)
if container == nil {
return job.Errorf("No such container: %s", name)
}
var (
config = container.Config
newConfig runconfig.Config
)
if err := job.GetenvJson("config", &newConfig); err != nil {
return job.Error(err)
}
if err := runconfig.Merge(&newConfig, config); err != nil {
return job.Error(err)
}
img, err := daemon.Commit(container, job.Getenv("repo"), job.Getenv("tag"), job.Getenv("comment"), job.Getenv("author"), job.GetenvBool("pause"), &newConfig)
if err != nil {
return job.Error(err)
}
job.Printf("%s\n", img.ID)
return engine.StatusOK
}
// Commit creates a new filesystem image from the current state of a container.
// The image can optionally be tagged into a repository
func (daemon *Daemon) Commit(container *Container, repository, tag, comment, author string, pause bool, config *runconfig.Config) (*image.Image, error) {
if pause {
container.Pause()
defer container.Unpause()
}
if err := container.Mount(); err != nil {
return nil, err
}
defer container.Unmount()
rwTar, err := container.ExportRw()
if err != nil {
return nil, err
}
defer rwTar.Close()
// Create a new image from the container's base layers + a new layer from container changes
var (
containerID, containerImage string
containerConfig *runconfig.Config
)
if container != nil {
containerID = container.ID
containerImage = container.Image
containerConfig = container.Config
}
img, err := daemon.graph.Create(rwTar, containerID, containerImage, comment, author, containerConfig, config)
if err != nil {
return nil, err
}
// Register the image if needed
if repository != "" {
if err := daemon.repositories.Set(repository, tag, img.ID, true); err != nil {
return img, err
}
}
return img, nil
}
+70
View File
@@ -0,0 +1,70 @@
package daemon
import (
"net"
"github.com/docker/docker/daemon/networkdriver"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
)
const (
defaultNetworkMtu = 1500
DisableNetworkBridge = "none"
)
// Config define the configuration of a docker daemon
// These are the configuration settings that you pass
// to the docker daemon when you launch it with say: `docker -d -e lxc`
// FIXME: separate runtime configuration from http api configuration
type Config struct {
Pidfile string
Root string
AutoRestart bool
Dns []string
DnsSearch []string
EnableIptables bool
EnableIpForward bool
DefaultIp net.IP
BridgeIface string
BridgeIP string
InterContainerCommunication bool
GraphDriver string
GraphOptions []string
ExecDriver string
Mtu int
DisableNetwork bool
EnableSelinuxSupport bool
Context map[string][]string
}
// InstallFlags adds command-line options to the top-level flag parser for
// the current process.
// Subsequent calls to `flag.Parse` will populate config with values parsed
// from the command-line.
func (config *Config) InstallFlags() {
flag.StringVar(&config.Pidfile, []string{"p", "-pidfile"}, "/var/run/docker.pid", "Path to use for daemon PID file")
flag.StringVar(&config.Root, []string{"g", "-graph"}, "/var/lib/docker", "Path to use as the root of the Docker runtime")
flag.BoolVar(&config.AutoRestart, []string{"#r", "#-restart"}, true, "--restart on the daemon has been deprecated infavor of --restart policies on docker run")
flag.BoolVar(&config.EnableIptables, []string{"#iptables", "-iptables"}, true, "Enable Docker's addition of iptables rules")
flag.BoolVar(&config.EnableIpForward, []string{"#ip-forward", "-ip-forward"}, true, "Enable net.ipv4.ip_forward")
flag.StringVar(&config.BridgeIP, []string{"#bip", "-bip"}, "", "Use this CIDR notation address for the network bridge's IP, not compatible with -b")
flag.StringVar(&config.BridgeIface, []string{"b", "-bridge"}, "", "Attach containers to a pre-existing network bridge\nuse 'none' to disable container networking")
flag.BoolVar(&config.InterContainerCommunication, []string{"#icc", "-icc"}, true, "Enable inter-container communication")
flag.StringVar(&config.GraphDriver, []string{"s", "-storage-driver"}, "", "Force the Docker runtime to use a specific storage driver")
flag.StringVar(&config.ExecDriver, []string{"e", "-exec-driver"}, "native", "Force the Docker runtime to use a specific exec driver")
flag.BoolVar(&config.EnableSelinuxSupport, []string{"-selinux-enabled"}, false, "Enable selinux support. SELinux does not presently support the BTRFS storage driver")
flag.IntVar(&config.Mtu, []string{"#mtu", "-mtu"}, 0, "Set the containers network MTU\nif no value is provided: default to the default route MTU or 1500 if no default route is available")
opts.IPVar(&config.DefaultIp, []string{"#ip", "-ip"}, "0.0.0.0", "Default IP address to use when binding container ports")
opts.ListVar(&config.GraphOptions, []string{"-storage-opt"}, "Set storage driver options")
// FIXME: why the inconsistency between "hosts" and "sockets"?
opts.IPListVar(&config.Dns, []string{"#dns", "-dns"}, "Force Docker to use specific DNS servers")
opts.DnsSearchListVar(&config.DnsSearch, []string{"-dns-search"}, "Force Docker to use specific DNS search domains")
}
func GetDefaultNetworkMtu() int {
if iface, err := networkdriver.GetDefaultRouteIface(); err == nil {
return iface.MTU
}
return defaultNetworkMtu
}
+272 -231
View File
@@ -6,26 +6,31 @@ import (
"fmt"
"io"
"io/ioutil"
"log"
"os"
"path"
"path/filepath"
"strings"
"sync"
"syscall"
"time"
"github.com/dotcloud/docker/archive"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/daemon/graphdriver"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/image"
"github.com/dotcloud/docker/links"
"github.com/dotcloud/docker/nat"
"github.com/dotcloud/docker/pkg/label"
"github.com/dotcloud/docker/pkg/networkfs/etchosts"
"github.com/dotcloud/docker/pkg/networkfs/resolvconf"
"github.com/dotcloud/docker/runconfig"
"github.com/dotcloud/docker/utils"
"github.com/docker/libcontainer/devices"
"github.com/docker/libcontainer/label"
"github.com/docker/docker/archive"
"github.com/docker/docker/daemon/execdriver"
"github.com/docker/docker/daemon/graphdriver"
"github.com/docker/docker/engine"
"github.com/docker/docker/image"
"github.com/docker/docker/links"
"github.com/docker/docker/nat"
"github.com/docker/docker/pkg/broadcastwriter"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/networkfs/etchosts"
"github.com/docker/docker/pkg/networkfs/resolvconf"
"github.com/docker/docker/pkg/symlink"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
)
const DefaultPathEnv = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
@@ -50,7 +55,7 @@ type Container struct {
Args []string
Config *runconfig.Config
State State
State *State
Image string
NetworkSettings *NetworkSettings
@@ -63,62 +68,32 @@ type Container struct {
ExecDriver string
command *execdriver.Command
stdout *utils.WriteBroadcaster
stderr *utils.WriteBroadcaster
stdout *broadcastwriter.BroadcastWriter
stderr *broadcastwriter.BroadcastWriter
stdin io.ReadCloser
stdinPipe io.WriteCloser
daemon *Daemon
MountLabel, ProcessLabel string
RestartCount int
waitLock chan struct{}
Volumes map[string]string
Volumes map[string]string
// Store rw/ro in a separate structure to preserve reverse-compatibility on-disk.
// Easier than migrating older container configs :)
VolumesRW map[string]bool
hostConfig *runconfig.HostConfig
activeLinks map[string]*links.Link
}
// Inject the io.Reader at the given path. Note: do not close the reader
func (container *Container) Inject(file io.Reader, pth string) error {
if err := container.Mount(); err != nil {
return fmt.Errorf("inject: error mounting container %s: %s", container.ID, err)
}
defer container.Unmount()
// Return error if path exists
destPath := path.Join(container.basefs, pth)
if _, err := os.Stat(destPath); err == nil {
// Since err is nil, the path could be stat'd and it exists
return fmt.Errorf("%s exists", pth)
} else if !os.IsNotExist(err) {
// Expect err might be that the file doesn't exist, so
// if it's some other error, return that.
return err
}
// Make sure the directory exists
if err := os.MkdirAll(path.Join(container.basefs, path.Dir(pth)), 0755); err != nil {
return err
}
dest, err := os.Create(destPath)
if err != nil {
return err
}
defer dest.Close()
if _, err := io.Copy(dest, file); err != nil {
return err
}
return nil
monitor *containerMonitor
}
func (container *Container) FromDisk() error {
data, err := ioutil.ReadFile(container.jsonPath())
pth, err := container.jsonPath()
if err != nil {
return err
}
data, err := ioutil.ReadFile(pth)
if err != nil {
return err
}
@@ -134,40 +109,83 @@ func (container *Container) FromDisk() error {
return container.readHostConfig()
}
func (container *Container) ToDisk() (err error) {
func (container *Container) toDisk() error {
data, err := json.Marshal(container)
if err != nil {
return
return err
}
err = ioutil.WriteFile(container.jsonPath(), data, 0666)
pth, err := container.jsonPath()
if err != nil {
return
return err
}
err = ioutil.WriteFile(pth, data, 0666)
if err != nil {
return err
}
return container.WriteHostConfig()
}
func (container *Container) ToDisk() error {
container.Lock()
err := container.toDisk()
container.Unlock()
return err
}
func (container *Container) readHostConfig() error {
container.hostConfig = &runconfig.HostConfig{}
// If the hostconfig file does not exist, do not read it.
// (We still have to initialize container.hostConfig,
// but that's OK, since we just did that above.)
_, err := os.Stat(container.hostConfigPath())
pth, err := container.hostConfigPath()
if err != nil {
return err
}
_, err = os.Stat(pth)
if os.IsNotExist(err) {
return nil
}
data, err := ioutil.ReadFile(container.hostConfigPath())
data, err := ioutil.ReadFile(pth)
if err != nil {
return err
}
return json.Unmarshal(data, container.hostConfig)
}
func (container *Container) WriteHostConfig() (err error) {
func (container *Container) WriteHostConfig() error {
data, err := json.Marshal(container.hostConfig)
if err != nil {
return
return err
}
return ioutil.WriteFile(container.hostConfigPath(), data, 0666)
pth, err := container.hostConfigPath()
if err != nil {
return err
}
return ioutil.WriteFile(pth, data, 0666)
}
func (container *Container) LogEvent(action string) {
d := container.daemon
if err := d.eng.Job("log", action, container.ID, d.Repositories().ImageName(container.Image)).Run(); err != nil {
log.Errorf("Error logging event %s for %s: %s", action, container.ID, err)
}
}
func (container *Container) getResourcePath(path string) (string, error) {
cleanPath := filepath.Join("/", path)
return symlink.FollowSymlinkInScope(filepath.Join(container.basefs, cleanPath), container.basefs)
}
func (container *Container) getRootResourcePath(path string) (string, error) {
cleanPath := filepath.Join("/", path)
return symlink.FollowSymlinkInScope(filepath.Join(container.root, cleanPath), container.root)
}
func populateCommand(c *Container, env []string) error {
@@ -208,6 +226,20 @@ func populateCommand(c *Container, env []string) error {
return fmt.Errorf("invalid network mode: %s", c.hostConfig.NetworkMode)
}
// Build lists of devices allowed and created within the container.
userSpecifiedDevices := make([]*devices.Device, len(c.hostConfig.Devices))
for i, deviceMapping := range c.hostConfig.Devices {
device, err := devices.GetDevice(deviceMapping.PathOnHost, deviceMapping.CgroupPermissions)
device.Path = deviceMapping.PathInContainer
if err != nil {
return fmt.Errorf("error gathering device information while adding custom device %s", err)
}
userSpecifiedDevices[i] = device
}
allowedDevices := append(devices.DefaultAllowedDevices, userSpecifiedDevices...)
autoCreatedDevices := append(devices.DefaultAutoCreatedDevices, userSpecifiedDevices...)
// TODO: this can be removed after lxc-conf is fully deprecated
mergeLxcConfIntoOptions(c.hostConfig, context)
@@ -215,20 +247,25 @@ func populateCommand(c *Container, env []string) error {
Memory: c.Config.Memory,
MemorySwap: c.Config.MemorySwap,
CpuShares: c.Config.CpuShares,
Cpuset: c.Config.Cpuset,
}
c.command = &execdriver.Command{
ID: c.ID,
Privileged: c.hostConfig.Privileged,
Rootfs: c.RootfsPath(),
InitPath: "/.dockerinit",
Entrypoint: c.Path,
Arguments: c.Args,
WorkingDir: c.Config.WorkingDir,
Network: en,
Tty: c.Config.Tty,
User: c.Config.User,
Config: context,
Resources: resources,
ID: c.ID,
Privileged: c.hostConfig.Privileged,
Rootfs: c.RootfsPath(),
InitPath: "/.dockerinit",
Entrypoint: c.Path,
Arguments: c.Args,
WorkingDir: c.Config.WorkingDir,
Network: en,
Tty: c.Config.Tty,
User: c.Config.User,
Config: context,
Resources: resources,
AllowedDevices: allowedDevices,
AutoCreatedDevices: autoCreatedDevices,
CapAdd: c.hostConfig.CapAdd,
CapDrop: c.hostConfig.CapDrop,
}
c.command.SysProcAttr = &syscall.SysProcAttr{Setsid: true}
c.command.Env = env
@@ -242,6 +279,7 @@ func (container *Container) Start() (err error) {
if container.State.IsRunning() {
return nil
}
// if we encounter and error during start we need to ensure that any other
// setup has been cleaned up properly
defer func() {
@@ -277,10 +315,6 @@ func (container *Container) Start() (err error) {
if err := setupMountsForContainer(container); err != nil {
return err
}
if err := container.startLoggingToDisk(); err != nil {
return err
}
container.waitLock = make(chan struct{})
return container.waitForStart()
}
@@ -289,7 +323,7 @@ func (container *Container) Run() error {
if err := container.Start(); err != nil {
return err
}
container.Wait()
container.State.WaitStop(-1 * time.Second)
return nil
}
@@ -303,7 +337,7 @@ func (container *Container) Output() (output []byte, err error) {
return nil, err
}
output, err = ioutil.ReadAll(pipe)
container.Wait()
container.State.WaitStop(-1 * time.Second)
return output, err
}
@@ -344,7 +378,12 @@ func (container *Container) StderrLogPipe() io.ReadCloser {
}
func (container *Container) buildHostnameFile() error {
container.HostnamePath = path.Join(container.root, "hostname")
hostnamePath, err := container.getRootResourcePath("hostname")
if err != nil {
return err
}
container.HostnamePath = hostnamePath
if container.Config.Domainname != "" {
return ioutil.WriteFile(container.HostnamePath, []byte(fmt.Sprintf("%s.%s\n", container.Config.Hostname, container.Config.Domainname)), 0644)
}
@@ -356,7 +395,11 @@ func (container *Container) buildHostnameAndHostsFiles(IP string) error {
return err
}
container.HostsPath = path.Join(container.root, "hosts")
hostsPath, err := container.getRootResourcePath("hosts")
if err != nil {
return err
}
container.HostsPath = hostsPath
extraContent := make(map[string]string)
@@ -411,8 +454,17 @@ func (container *Container) allocateNetwork() error {
if container.Config.ExposedPorts != nil {
portSpecs = container.Config.ExposedPorts
}
if container.hostConfig.PortBindings != nil {
bindings = container.hostConfig.PortBindings
for p, b := range container.hostConfig.PortBindings {
bindings[p] = []nat.PortBinding{}
for _, bb := range b {
bindings[p] = append(bindings[p], nat.PortBinding{
HostIp: bb.HostIp,
HostPort: bb.HostPort,
})
}
}
}
container.NetworkSettings.PortMapping = nil
@@ -443,50 +495,8 @@ func (container *Container) releaseNetwork() {
container.NetworkSettings = &NetworkSettings{}
}
func (container *Container) monitor(callback execdriver.StartCallback) error {
var (
err error
exitCode int
)
pipes := execdriver.NewPipes(container.stdin, container.stdout, container.stderr, container.Config.OpenStdin)
exitCode, err = container.daemon.Run(container, pipes, callback)
if err != nil {
utils.Errorf("Error running container: %s", err)
}
if container.daemon != nil && container.daemon.srv != nil && container.daemon.srv.IsRunning() {
container.State.SetStopped(exitCode)
// FIXME: there is a race condition here which causes this to fail during the unit tests.
// If another goroutine was waiting for Wait() to return before removing the container's root
// from the filesystem... At this point it may already have done so.
// This is because State.setStopped() has already been called, and has caused Wait()
// to return.
// FIXME: why are we serializing running state to disk in the first place?
//log.Printf("%s: Failed to dump configuration to the disk: %s", container.ID, err)
if err := container.ToDisk(); err != nil {
utils.Errorf("Error dumping container state to disk: %s\n", err)
}
}
// Cleanup
container.cleanup()
// Re-create a brand new stdin pipe once the container exited
if container.Config.OpenStdin {
container.stdin, container.stdinPipe = io.Pipe()
}
if container.daemon != nil && container.daemon.srv != nil {
container.daemon.srv.LogEvent("die", container.ID, container.daemon.repositories.ImageName(container.Image))
}
close(container.waitLock)
return err
}
// cleanup releases any network resources allocated to the container along with any rules
// around how containers are linked together. It also unmounts the container's root filesystem.
func (container *Container) cleanup() {
container.releaseNetwork()
@@ -496,38 +506,60 @@ func (container *Container) cleanup() {
link.Disable()
}
}
if container.Config.OpenStdin {
if err := container.stdin.Close(); err != nil {
utils.Errorf("%s: Error close stdin: %s", container.ID, err)
}
}
if err := container.stdout.CloseWriters(); err != nil {
utils.Errorf("%s: Error close stdout: %s", container.ID, err)
}
if err := container.stderr.CloseWriters(); err != nil {
utils.Errorf("%s: Error close stderr: %s", container.ID, err)
}
if container.command != nil && container.command.Terminal != nil {
if err := container.command.Terminal.Close(); err != nil {
utils.Errorf("%s: Error closing terminal: %s", container.ID, err)
}
}
if err := container.Unmount(); err != nil {
log.Printf("%v: Failed to umount filesystem: %v", container.ID, err)
log.Errorf("%v: Failed to umount filesystem: %v", container.ID, err)
}
}
func (container *Container) KillSig(sig int) error {
log.Debugf("Sending %d to %s", sig, container.ID)
container.Lock()
defer container.Unlock()
// We could unpause the container for them rather than returning this error
if container.State.IsPaused() {
return fmt.Errorf("Container %s is paused. Unpause the container before stopping", container.ID)
}
if !container.State.IsRunning() {
return nil
}
// signal to the monitor that it should not restart the container
// after we send the kill signal
container.monitor.ExitOnNext()
// if the container is currently restarting we do not need to send the signal
// to the process. Telling the monitor that it should exit on it's next event
// loop is enough
if container.State.IsRestarting() {
return nil
}
return container.daemon.Kill(container, sig)
}
func (container *Container) Pause() error {
if container.State.IsPaused() {
return fmt.Errorf("Container %s is already paused", container.ID)
}
if !container.State.IsRunning() {
return fmt.Errorf("Container %s is not running", container.ID)
}
return container.daemon.Pause(container)
}
func (container *Container) Unpause() error {
if !container.State.IsPaused() {
return fmt.Errorf("Container %s is not paused", container.ID)
}
if !container.State.IsRunning() {
return fmt.Errorf("Container %s is not running", container.ID)
}
return container.daemon.Unpause(container)
}
func (container *Container) Kill() error {
if !container.State.IsRunning() {
return nil
@@ -539,17 +571,17 @@ func (container *Container) Kill() error {
}
// 2. Wait for the process to die, in last resort, try to kill the process directly
if err := container.WaitTimeout(10 * time.Second); err != nil {
if _, err := container.State.WaitStop(10 * time.Second); err != nil {
// Ensure that we don't kill ourselves
if pid := container.State.Pid; pid != 0 {
log.Printf("Container %s failed to exit within 10 seconds of kill - trying direct SIGKILL", utils.TruncateID(container.ID))
if pid := container.State.GetPid(); pid != 0 {
log.Infof("Container %s failed to exit within 10 seconds of kill - trying direct SIGKILL", utils.TruncateID(container.ID))
if err := syscall.Kill(pid, 9); err != nil {
return err
}
}
}
container.Wait()
container.State.WaitStop(-1 * time.Second)
return nil
}
@@ -560,17 +592,18 @@ func (container *Container) Stop(seconds int) error {
// 1. Send a SIGTERM
if err := container.KillSig(15); err != nil {
log.Print("Failed to send SIGTERM to the process, force killing")
log.Infof("Failed to send SIGTERM to the process, force killing")
if err := container.KillSig(9); err != nil {
return err
}
}
// 2. Wait for the process to exit on its own
if err := container.WaitTimeout(time.Duration(seconds) * time.Second); err != nil {
log.Printf("Container %v failed to exit within %d seconds of SIGTERM - using the force", container.ID, seconds)
if _, err := container.State.WaitStop(time.Duration(seconds) * time.Second); err != nil {
log.Infof("Container %v failed to exit within %d seconds of SIGTERM - using the force", container.ID, seconds)
// 3. If it doesn't, then send SIGKILL
if err := container.Kill(); err != nil {
container.State.WaitStop(-1 * time.Second)
return err
}
}
@@ -591,12 +624,6 @@ func (container *Container) Restart(seconds int) error {
return container.Start()
}
// Wait blocks until the container stops running, then returns its exit code.
func (container *Container) Wait() int {
<-container.waitLock
return container.State.GetExitCode()
}
func (container *Container) Resize(h, w int) error {
return container.command.Terminal.Resize(h, w)
}
@@ -639,26 +666,13 @@ func (container *Container) Export() (archive.Archive, error) {
nil
}
func (container *Container) WaitTimeout(timeout time.Duration) error {
done := make(chan bool)
go func() {
container.Wait()
done <- true
}()
select {
case <-time.After(timeout):
return fmt.Errorf("Timed Out")
case <-done:
return nil
}
}
func (container *Container) Mount() error {
return container.daemon.Mount(container)
}
func (container *Container) Changes() ([]archive.Change, error) {
container.Lock()
defer container.Unlock()
return container.daemon.Changes(container)
}
@@ -673,20 +687,24 @@ func (container *Container) Unmount() error {
return container.daemon.Unmount(container)
}
func (container *Container) logPath(name string) string {
return path.Join(container.root, fmt.Sprintf("%s-%s.log", container.ID, name))
func (container *Container) logPath(name string) (string, error) {
return container.getRootResourcePath(fmt.Sprintf("%s-%s.log", container.ID, name))
}
func (container *Container) ReadLog(name string) (io.Reader, error) {
return os.Open(container.logPath(name))
pth, err := container.logPath(name)
if err != nil {
return nil, err
}
return os.Open(pth)
}
func (container *Container) hostConfigPath() string {
return path.Join(container.root, "hostconfig.json")
func (container *Container) hostConfigPath() (string, error) {
return container.getRootResourcePath("hostconfig.json")
}
func (container *Container) jsonPath() string {
return path.Join(container.root, "config.json")
func (container *Container) jsonPath() (string, error) {
return container.getRootResourcePath("config.json")
}
// This method must be exported to be used from the lxc template
@@ -711,7 +729,7 @@ func (container *Container) GetSize() (int64, int64) {
)
if err := container.Mount(); err != nil {
utils.Errorf("Warning: failed to compute size of container rootfs %s: %s", container.ID, err)
log.Errorf("Warning: failed to compute size of container rootfs %s: %s", container.ID, err)
return sizeRw, sizeRootfs
}
defer container.Unmount()
@@ -719,7 +737,7 @@ func (container *Container) GetSize() (int64, int64) {
if differ, ok := container.daemon.driver.(graphdriver.Differ); ok {
sizeRw, err = differ.DiffSize(container.ID)
if err != nil {
utils.Errorf("Warning: driver %s couldn't return diff size of container %s: %s", driver, container.ID, err)
log.Errorf("Warning: driver %s couldn't return diff size of container %s: %s", driver, container.ID, err)
// FIXME: GetSize should return an error. Not changing it now in case
// there is a side-effect.
sizeRw = -1
@@ -745,8 +763,15 @@ func (container *Container) Copy(resource string) (io.ReadCloser, error) {
if err := container.Mount(); err != nil {
return nil, err
}
var filter []string
basePath := path.Join(container.basefs, resource)
basePath, err := container.getResourcePath(resource)
if err != nil {
container.Unmount()
return nil, err
}
stat, err := os.Stat(basePath)
if err != nil {
container.Unmount()
@@ -761,11 +786,12 @@ func (container *Container) Copy(resource string) (io.ReadCloser, error) {
basePath = path.Dir(basePath)
}
archive, err := archive.TarFilter(basePath, &archive.TarOptions{
archive, err := archive.TarWithOptions(basePath, &archive.TarOptions{
Compression: archive.Uncompressed,
Includes: filter,
})
if err != nil {
container.Unmount()
return nil, err
}
return utils.NewReadCloserWrapper(archive, func() error {
@@ -791,11 +817,16 @@ func (container *Container) GetPtyMaster() (*os.File, error) {
}
func (container *Container) HostConfig() *runconfig.HostConfig {
return container.hostConfig
container.Lock()
res := container.hostConfig
container.Unlock()
return res
}
func (container *Container) SetHostConfig(hostConfig *runconfig.HostConfig) {
container.Lock()
container.hostConfig = hostConfig
container.Unlock()
}
func (container *Container) DisableLink(name string) {
@@ -803,7 +834,7 @@ func (container *Container) DisableLink(name string) {
if link, exists := container.activeLinks[name]; exists {
link.Disable()
} else {
utils.Debugf("Could not find active link for %s", name)
log.Debugf("Could not find active link for %s", name)
}
}
}
@@ -818,18 +849,16 @@ func (container *Container) setupContainerDns() error {
daemon = container.daemon
)
if config.NetworkMode == "host" {
container.ResolvConfPath = "/etc/resolv.conf"
return nil
}
resolvConf, err := resolvconf.Get()
if err != nil {
return err
}
container.ResolvConfPath, err = container.getRootResourcePath("resolv.conf")
if err != nil {
return err
}
// If custom dns exists, then create a resolv.conf for the container
if len(config.Dns) > 0 || len(daemon.config.Dns) > 0 || len(config.DnsSearch) > 0 || len(daemon.config.DnsSearch) > 0 {
if config.NetworkMode != "host" && (len(config.Dns) > 0 || len(daemon.config.Dns) > 0 || len(config.DnsSearch) > 0 || len(daemon.config.DnsSearch) > 0) {
var (
dns = resolvconf.GetNameservers(resolvConf)
dnsSearch = resolvconf.GetSearchDomains(resolvConf)
@@ -844,12 +873,9 @@ func (container *Container) setupContainerDns() error {
} else if len(daemon.config.DnsSearch) > 0 {
dnsSearch = daemon.config.DnsSearch
}
container.ResolvConfPath = path.Join(container.root, "resolv.conf")
return resolvconf.Build(container.ResolvConfPath, dns, dnsSearch)
} else {
container.ResolvConfPath = "/etc/resolv.conf"
}
return nil
return ioutil.WriteFile(container.ResolvConfPath, resolvConf, 0644)
}
func (container *Container) initializeNetworking() error {
@@ -865,9 +891,25 @@ func (container *Container) initializeNetworking() error {
container.Config.Hostname = parts[0]
container.Config.Domainname = parts[1]
}
container.HostsPath = "/etc/hosts"
return container.buildHostnameFile()
content, err := ioutil.ReadFile("/etc/hosts")
if os.IsNotExist(err) {
return container.buildHostnameAndHostsFiles("")
} else if err != nil {
return err
}
if err := container.buildHostnameFile(); err != nil {
return err
}
hostsPath, err := container.getRootResourcePath("hosts")
if err != nil {
return err
}
container.HostsPath = hostsPath
return ioutil.WriteFile(container.HostsPath, content, 0644)
} else if container.hostConfig.NetworkMode.IsContainer() {
// we need to get the hosts files from the container to join
nc, err := container.getNetworkedContainer()
@@ -893,15 +935,15 @@ func (container *Container) initializeNetworking() error {
// Make sure the config is compatible with the current kernel
func (container *Container) verifyDaemonSettings() {
if container.Config.Memory > 0 && !container.daemon.sysInfo.MemoryLimit {
log.Printf("WARNING: Your kernel does not support memory limit capabilities. Limitation discarded.\n")
log.Infof("WARNING: Your kernel does not support memory limit capabilities. Limitation discarded.")
container.Config.Memory = 0
}
if container.Config.Memory > 0 && !container.daemon.sysInfo.SwapLimit {
log.Printf("WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.\n")
log.Infof("WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.")
container.Config.MemorySwap = -1
}
if container.daemon.sysInfo.IPv4ForwardingDisabled {
log.Printf("WARNING: IPv4 forwarding is disabled. Networking will not work")
log.Infof("WARNING: IPv4 forwarding is disabled. Networking will not work")
}
}
@@ -962,9 +1004,12 @@ func (container *Container) setupLinkedContainers() ([]string, error) {
func (container *Container) createDaemonEnvironment(linkedEnv []string) []string {
// Setup environment
env := []string{
"HOME=/",
"PATH=" + DefaultPathEnv,
"HOSTNAME=" + container.Config.Hostname,
// Note: we don't set HOME here because it'll get autoset intelligently
// based on the value of USER inside dockerinit, but only if it isn't
// set already (ie, that can be overridden by setting HOME via -e or ENV
// in a Dockerfile).
}
if container.Config.Tty {
env = append(env, "TERM=xterm")
@@ -982,12 +1027,18 @@ func (container *Container) setupWorkingDirectory() error {
if container.Config.WorkingDir != "" {
container.Config.WorkingDir = path.Clean(container.Config.WorkingDir)
pthInfo, err := os.Stat(path.Join(container.basefs, container.Config.WorkingDir))
pth, err := container.getResourcePath(container.Config.WorkingDir)
if err != nil {
return err
}
pthInfo, err := os.Stat(pth)
if err != nil {
if !os.IsNotExist(err) {
return err
}
if err := os.MkdirAll(path.Join(container.basefs, container.Config.WorkingDir), 0755); err != nil {
if err := os.MkdirAll(pth, 0755); err != nil {
return err
}
}
@@ -1000,43 +1051,33 @@ func (container *Container) setupWorkingDirectory() error {
func (container *Container) startLoggingToDisk() error {
// Setup logging of stdout and stderr to disk
if err := container.daemon.LogToDisk(container.stdout, container.logPath("json"), "stdout"); err != nil {
pth, err := container.logPath("json")
if err != nil {
return err
}
if err := container.daemon.LogToDisk(container.stderr, container.logPath("json"), "stderr"); err != nil {
if err := container.daemon.LogToDisk(container.stdout, pth, "stdout"); err != nil {
return err
}
if err := container.daemon.LogToDisk(container.stderr, pth, "stderr"); err != nil {
return err
}
return nil
}
func (container *Container) waitForStart() error {
callbackLock := make(chan struct{})
callback := func(command *execdriver.Command) {
container.State.SetRunning(command.Pid())
if command.Tty {
// The callback is called after the process Start()
// so we are in the parent process. In TTY mode, stdin/out/err is the PtySlace
// which we close here.
if c, ok := command.Stdout.(io.Closer); ok {
c.Close()
}
}
if err := container.ToDisk(); err != nil {
utils.Debugf("%s", err)
}
close(callbackLock)
}
container.monitor = newContainerMonitor(container, container.hostConfig.RestartPolicy)
// We use a callback here instead of a goroutine and an chan for
// syncronization purposes
cErr := utils.Go(func() error { return container.monitor(callback) })
// Start should not return until the process is actually running
// block until we either receive an error from the initial start of the container's
// process or until the process is running in the container
select {
case <-callbackLock:
case err := <-cErr:
case <-container.monitor.startSignal:
case err := <-utils.Go(container.monitor.Start):
return err
}
return nil
}

Some files were not shown because too many files have changed in this diff Show More