Compare commits

..

2559 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Michael Crosby 15209c380c Bump version to v0.11.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-07 09:59:55 -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
Michael Crosby 263d134fff Merge branch 'master' into bump_v0.11.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-06 18:03:23 -07:00
Victor Vieux 41b2874b99 Merge pull request #5643 from crosbymichael/fix-native-pid
Set container pid for process in native driver
2014-05-06 18:02:55 -07:00
Michael Crosby 62e8ddb579 Set container pid for process in native driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-06 17:04:04 -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
Sven Dowideit d7166536e7 Merge pull request #5622 from SvenDowideit/net-host-docs
Update the run --net cli help to include the 'host' option
2014-05-07 07:11:41 +10:00
Michael Crosby 5c12a27838 Merge pull request #5631 from vmarmol/cpuacct-usage
Export cpuacct CPU usage in total cores over the sampled period.
2014-05-06 11:47:55 -07:00
Victor Vieux 8d07c2d1ae Fix logo in README.md 2014-05-06 11:39:11 -07: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
Victor Marmol 543e60eb60 Export cpuacct CPU usage in total cores over the sampled period.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-06 16:56:39 +00:00
Michael Crosby 818648ff9f Merge pull request #5630 from rjnagal/libcontainer-fixes
Check supplied hostname before using it.
2014-05-06 09:49:52 -07:00
Michael Crosby 7e3a1b6521 Merge pull request #5629 from vmarmol/fix-systemd-softlimit
Remove support for MemoryReservation in systemd systems.
2014-05-06 09:48:33 -07:00
Michael Crosby d16fcc628e Merge pull request #5627 from cyphar/integration-cli-fixes
Fixed completely broken integration-cli tests
2014-05-06 09:35:30 -07:00
Michael Crosby 5034b658e3 Merge pull request #5626 from cyphar/networkfs-etchosts-tests
Fixed broken tests for pkg/networkfs/etchosts
2014-05-06 09:31:06 -07:00
Victor Marmol 69d43b2674 Remove support for MemoryReservation in systemd systems. This has been
deperecated since systemd 208.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-06 15:53:38 +00:00
cyphar 924979259e integration-cli: docker_cli_links: fixed broken tests
The tests weren't ... tested when last edited, this patch fixes
them so that they run and pass correctly.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-07 01:05:15 +10:00
cyphar 14f65ab83b pkg: networkfs: etchosts: fixed tests
This patch fixes the fact that the tests for pkg/networkfs/etchosts
couldn't build due to syntax errors.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-05-07 00:42:22 +10:00
O.S. Tezer ba6a732357 Merge pull request #5616 from nirvdrum/patch-2
Use the contraction for "it is."
2014-05-06 11:33:41 +01:00
Sven Dowideit 9eeff6d099 Update the run --net cli help to include the 'host' option
and then add that to the run and cli docs

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-06 20:26:44 +10: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
Solomon Hykes 95d81dada6 Merge pull request #5056 by Bryan Murphy <bmurphy1976@gmail.com>
"add linked containers to hosts file"
2014-05-05 20:04:01 -07:00
Solomon Hykes dc605c8be7 Simplify integration test for link + hostname.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-05 19:51:47 -07:00
Bryan Murphy 53f38a14cd add linked containers to hosts file
Docker-DCO-1.1-Signed-off-by: Bryan Murphy <bmurphy1976@gmail.com> (github: bmurphy1976)

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Tested-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-05 19:40:27 -07:00
Michael Crosby cd81895091 Add alex as devmapper and btrfs maintainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 19:40:27 -07:00
Guillaume J. Charmes 839b06b121 Merge pull request #5601 from crosbymichael/alex-maintainer
Add alex as devmapper and btrfs maintainer
2014-05-05 17:10:05 -07:00
Kevin Menard 2b0f88383a Use the correct "it's." 2014-05-05 20:08:35 -04:00
Guillaume J. Charmes affacfab08 Merge pull request #5614 from crosbymichael/move-attach-to-daemon
Move Attach from container to daemon
2014-05-05 16:56:11 -07:00
Michael Crosby 41cfaa738c Move Attach from container to daemon
This moves the Attach method from the container to the daemon.  This
method mostly supports the http attach logic and does not have anything
to do with the running of a container.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 16:48:56 -07:00
Victor Vieux b4ac4228f5 Merge pull request #5613 from vieux/better_error_handling
propagate errors write
2014-05-05 16:28:15 -07:00
Victor Vieux 55f3e72d7f propagate errors write
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-05 23:23:14 +00:00
Guillaume J. Charmes 0b15944cb0 Merge pull request #5354 from alexlarsson/cgroups-systemd-fixes
cgroups: Update systemd to match fs backend
2014-05-05 16:00:56 -07:00
Sven Dowideit df5827dd02 Merge pull request #5597 from jamtur01/docs-simplify-osx-install
Fixed the horrible OSX installation docs
2014-05-06 08:55:14 +10:00
Victor Vieux 0736eb6d16 Merge pull request #5609 from crosbymichael/move-env-gen 2014-05-05 15:52:47 -07:00
Michael Crosby ab58dd5a44 Merge pull request #5611 from vieux/networkfs_pkgs
add 2 networkfs pkgs
2014-05-05 15:52:14 -07:00
Victor Vieux 3744452ecf add resolvconf
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-05 22:55:32 +00:00
Victor Vieux a1a029f6d7 add etchosts
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-05 22:43:38 +00:00
Victor Vieux eadf004fcb Merge pull request #5600 from unclejack/sha512_registry_support
import sha512 to make sha512 ssl certs work
2014-05-05 15:27:11 -07:00
Michael Crosby 4994b0fe54 Move envconfig generation to lxc driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 14:45:14 -07:00
Victor Vieux 222605b5fb Merge pull request #5608 from crosbymichael/net-flag-refactor
HOTFIX Update after namespace refactor
2014-05-05 13:58:09 -07:00
Michael Crosby 01fec73ba4 Update after namespace refactor
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 13:56:18 -07:00
Guillaume J. Charmes 70fef1460a Merge pull request #4441 from crosbymichael/add-net-flag
Add --net flag to docker run and allow host network stack
2014-05-05 13:54:55 -07:00
Michael Crosby 2165a4993b Merge pull request #5602 from crosbymichael/libcontainer-enable
Improve libcontainer namespace and cap format
2014-05-05 13:50:08 -07:00
Victor Vieux 51933bd5e1 Merge pull request #5575 from vieux/pr-5428 2014-05-05 13:48:36 -07:00
Victor Vieux 7c3a06634b Merge pull request #5538 from shykes/pr_out_engine_catchall_handler_is_shadowed_by_specific_handlers 2014-05-05 13:48:11 -07:00
Victor Vieux 07db13509b Merge pull request #5596 from dotcloud/contrib-fix
Post-commit hook URL fix
2014-05-05 13:44:48 -07:00
Michael Crosby 99be235332 Merge pull request #5400 from bmatsuo/5398-fix-pkg/graphdb-osx 2014-05-05 13:41:43 -07:00
James Turnbull 13c1865541 Merge pull request #5604 from nirvdrum/patch-1
It's its.
2014-05-05 21:49:47 +02:00
Tianon Gravi 168452f9b0 Merge pull request #5580 from tianon/update-vendor-versions
Update vendored deps that have a proper version number to use said specific versions
2014-05-05 13:45:03 -06:00
Kevin Menard b25208ee3e It's its. 2014-05-05 15:43:11 -04:00
Michael Crosby db5f6b4aa0 Improve libcontainer namespace and cap format
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 12:34:21 -07:00
Michael Crosby 34e09afa24 Merge pull request #5544 from vieux/cleanup_api_client
Cleanup api client
2014-05-05 11:16:57 -07:00
Rohit Jnagal 412324cfbe Check supplied hostname before using it.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-05-05 18:12:25 +00:00
Alexander Larsson 5b094530c0 cgroups: Update systemd to match fs backend
This updates systemd.Apply to match the fs backend by:
* Always join blockio controller (for stats)
* Support CpusetCpus
* Support MemorySwap

Also, it removes the generic UnitProperties in favour of a single
option to set the slice.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-05 20:06:44 +02:00
Michael Crosby f2d7c77c63 Add alex as devmapper and btrfs maintainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:47:55 -07:00
Michael Crosby e3d6898da1 Merge pull request #5591 from alexlarsson/fix-expose-parsing
nat: Fix --expose protocol parsing
2014-05-05 10:32:26 -07:00
unclejack 7da186c3e5 import sha512 to make sha512 ssl certs work
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-05-05 20:29:20 +03:00
Guillaume J. Charmes 5f301191cf Merge pull request #5496 from unclejack/check_if_root
check if the daemon is run as root on startup
2014-05-05 10:13:17 -07:00
Victor Vieux f369278725 Merge pull request #5569 from vieux/add__ping_to_the_API
Add  ping to the api
2014-05-05 10:09:31 -07:00
Michael Crosby 0b187b909b Address code review feedback
Also make sure we copy the joining containers hosts and resolv.conf with
the hostname if we are joining it's network stack.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:08:59 -07:00
Michael Crosby c1c6b3ccd9 Add docs for --net flag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:08:59 -07:00
Michael Crosby 5ca6532011 Update host networking with hostname and files
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:08:59 -07:00
Michael Crosby a785882b29 Setup host networking for lxc and native
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:08:59 -07:00
Michael Crosby 2c2cc051d8 Update --net flags and container mode
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-05 10:08:59 -07:00
Johan Euphrosine 7118416aee runconfig/parse: add test for parseNetMode
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-05 10:08:59 -07:00
Johan Euphrosine a60159f3b1 runconfig: add -net container:name option
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-05-05 10:08:59 -07:00
Tianon Gravi d103f0186a Merge pull request #5562 from rhatdan/master
Fix docker man page to reference selinux-enable flag
2014-05-05 10:34:49 -06:00
James Turnbull c34bb099e5 Fixed the horrible OSX installation docs
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-05 17:02:03 +02:00
James Turnbull 30d458c534 Merge pull request #5592 from SvenDowideit/docs-simplify-osx-install
Several OSX install reader issues fixed
2014-05-05 16:46:03 +02:00
Aaron Huslage 10766e1fb4 Post-commit hook URL fix
Updating CONTRIBUTING to include the correct URL for the post-commit hook.

Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-05-05 10:28:52 -04:00
Sven Dowideit 56d71ae79b Several reader issues fixed
- Fix boot2docker url
- move HomeBrew instructions to a separate section
- fix docker client 5-liner to work (its still ugly)
- fix and update program output

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-05 22:52:12 +10:00
Dan Walsh e625bad3d7 Fix docker man page to reference selinux-enable flag
Docker-DCO-1.1-Signed-off-by: Daniel Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-05-05 08:41:21 -04:00
O.S. Tezer e9fd8e285e Merge pull request #5587 from SvenDowideit/docs-examples-style-guide
Rearrange the existing info a little, and add example style guide
2014-05-05 13:36:47 +01:00
Sven Dowideit 46755dfc1a Rearrange the existing info a little, and add example style guide
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-05 22:18:12 +10:00
Alexander Larsson a304dcef00 nat: Fix --expose protocol parsing
A command like:
 docker run --expose 5353/tcp -P fedora sleep 10

Currently fails with:
Error: Cannot start container 5c558de5f0bd85ff14e13e3691aefbe531346297a27d4b3562732baa8785b34a: unknown protocol

This is because nat.SplitProtoPort() confuses the order of the port and
proto in 5353/tcp, assuming the protocol is first. However, in all other
places in docker the protocol is last, so the fix is just to swap these.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-05-05 12:54:10 +02:00
Sven Dowideit 3230889d24 Merge pull request #5585 from lukemarsden/patch-1
git clone should use https URL in devenvironment.md
2014-05-05 08:48:13 +10:00
lukemarsden 6799d14cb8 Update devenvironment.md
`git clone` should use `https` URL.
2014-05-04 17:52:48 +01:00
O.S. Tezer 9488832c6d Merge pull request #5579 from jamtur01/linkdashs
Fixed a couple of single dashes in links document
2014-05-04 13:28:46 +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
Tianon Gravi 8d7ed2cae4 Update vendored deps that have a proper version number to use said specific versions
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-05-03 20:34:21 -06:00
James Turnbull bfac0b24ed Fixed a couple of single dashes in links document
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-05-04 03:16:21 +02:00
O.S. Tezer 54e20b8f7b Merge pull request #5578 from msulima/patch-1
hello_world.md - $container_id variable case sensitivity
2014-05-03 12:53:14 +01:00
O.S. Tezer f33298024b Merge pull request #5568 from felixrabe/patch-6
cli.md: More typos
2014-05-03 12:50:57 +01:00
O.S. Tezer 49af92a7a9 Merge pull request #5572 from felixrabe/patch-5
run.md: Close braces
2014-05-03 12:42:04 +01:00
O.S. Tezer d0c97d5bd2 Merge pull request #5564 from felixrabe/patch-4
cli.md: sudo at the right place
2014-05-03 12:36:31 +01:00
Sven Dowideit b2268d1ac0 Merge pull request #5551 from felixrabe/patch-1
cli.md: Fix up Markdown formatting by adding one `
2014-05-03 21:02:25 +10:00
Sven Dowideit a911f42d1e Merge pull request #5570 from felixrabe/patch-3
run.md: Convert some backticks to apo's
2014-05-03 20:39:01 +10:00
Mateusz Sulima dca1c0073f hello_world.md - $container_id variable case sensitivity
If you run the tutorial step-by-step, following error occurs:

```$ sudo docker logs $container_id
Usage: docker logs CONTAINER
Fetch the logs of a container
  -f, --follow=false: Follow log output```

This is obviously because bash variables are case-sensitive, so it mustn't be `CONTAINER_ID` above.

Docker-DCO-1.1-Signed-off-by: Mateusz Sulima <sulima.mateusz@email.com> (github: github_handle)
2014-05-03 12:22:33 +02:00
Victor Vieux 328d65dcff remove fixme
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-03 00:54:52 +00:00
Solomon Hykes c4089ad80b Move 'search' to the registry subsystem
This continues the effort to separate all registry logic from the
deprecated `Server` object.

* 'search' is exposed by `github.com/dotcloud/docker/registry/Service`
* Added proper documentation of Search while I was at it

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-03 00:37:32 +00:00
Solomon Hykes 3d605683b3 Move 'auth' to the registry subsystem
This is the first step towards separating the registry subsystem from
the deprecated `Server` object.

* New service `github.com/dotcloud/docker/registry/Service`
* The service is installed by default in `builtins`
* The service only exposes `auth` for now...
* ...Soon to be followed by `pull`, `push` and `search`.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-03 00:37:06 +00:00
Felix Rabe 4a3b0e8d5d run.md: Close braces
Docker-DCO-1.1-Signed-off-by: Felix Rabe <felix@rabe.io> (github: felixrabe)
2014-05-03 02:20:59 +02:00
Michael Crosby 3a1f0dedc7 Merge pull request #5556 from crosbymichael/no-restrict-lxc
Don't restrict lxc because of apparmor
2014-05-02 17:20:27 -07:00
Felix Rabe 205bd91fca run.md: Convert some backticks to apo's 2014-05-03 02:11:00 +02:00
Victor Vieux 5bb430197e Merge pull request #5063 from vieux/force_rmi_stopped_container
docker rmi -f works with stopped containers + revamped error messages
2014-05-02 16:41:13 -07:00
Victor Vieux 1c48dfebb9 Merge pull request #5537 from shykes/pr_out_api_server_better_error_checking_to_avoid_unnecessary_panics 2014-05-02 16:05:07 -07:00
Solomon Hykes f37ce76bf6 api/server: better error checking to avoid unnecessary panics
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-02 16:03:37 -07:00
Felix Rabe 015a2abafa cli.md: More typos
I've seen one other missing space that I addressed in another PR already.
I don't know whether that is a common occurrence in the docs.

About the second diff chunk, it looks like some copy-paste mistake to me.

Docker-DCO-1.1-Signed-off-by: Felix Rabe <felix@rabe.io> (github: felixrabe)
2014-05-03 00:52:48 +02:00
O.S. Tezer cefb0d1277 Merge pull request #5563 from felixrabe/patch-3
cli.md: Add space
2014-05-02 23:33:48 +01:00
O.S. Tezer 069400a7ac Merge pull request #5566 from felixrabe/patch-5
cli.md: Add another sudo
2014-05-02 23:32:33 +01:00
Solomon Hykes 3b73c26194 Engine: empty job names are illegal, catchall or not
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-02 15:25:33 -07:00
Solomon Hykes de75af9fe2 engine: catchall handler is shadowed by specific handlers
This allows using `Engine.Register` and `Engine.RegisterCatchall` on the
same engine without the catchall hiding all other handlers.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-02 15:25:32 -07:00
Guillaume J. Charmes 103d028132 Merge pull request #5560 from gabrtv/deregister-containers-earlier
De-register containers before removing driver and containerGraph references
2014-05-02 15:20:51 -07:00
Victor Vieux a0cef41061 Merge pull request #5567 from creack/remove_unused_file 2014-05-02 15:08:42 -07:00
Victor Vieux c65de2c020 return write error
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 22:03:59 +00:00
Felix Rabe e318af6fb0 cli.md: sudo at the right place
Docker-DCO-1.1-Signed-off-by: Felix Rabe <felix@rabe.io> (github: felixrabe)
2014-05-02 23:58:05 +02:00
Victor Vieux 3c422fe5bf add doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 21:51:20 +00:00
Jérôme Petazzoni b3ff1c55e3 Merge pull request #5462 from tianon/hack-dind-style
Update hack/dind to match the rest of our scripts
2014-05-02 14:43:56 -07:00
Victor Vieux cf0076b92d add _ping endpoint
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 21:43:51 +00:00
Guillaume J. Charmes 8913ec4912 Remove unused daemon/sorter.go
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-02 14:16:05 -07:00
Michael Crosby ac7b2b888d Merge pull request #5565 from creack/fix_devpts
Month devpts before mounting subdirs
2014-05-02 14:14:46 -07:00
Felix Rabe 4706a1ad76 cli.md: Add another sudo 2014-05-02 23:13:28 +02:00
Felix Rabe 12a4b376fd cli.md: Add space 2014-05-02 22:56:35 +02:00
Guillaume J. Charmes a7ccbfd5f1 Month devpts before mounting subdirs
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-05-02 13:55:45 -07:00
Victor Vieux 45be6f6dff fix https
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 19:49:12 +00:00
Gabriel Monroy 9f152aacf8 deregister containers before removing driver and containerGraph references
This is required to address a race condition described in #5553,
where a container can be partially deleted -- for example, the
root filesystem but not the init filesystem -- which makes
it impossible to delete the container without re-adding the
missing filesystems manually.

This behavior has been witnessed when rebooting boxes that
are configured to remove containers on shutdown in parallel
with stopping the Docker daemon.

Docker-DCO-1.1-Signed-off-by: Gabriel Monroy <gabriel@opdemand.com> (github: gabrtv)
2014-05-02 13:27:17 -06:00
Michael Crosby 4d521f479b Merge pull request #5507 from shykes/dind-maintainer
Make Jerome Petazzoni a maintainer for dind
2014-05-02 11:25:41 -07:00
Michael Crosby 59fe77bfa6 Don't restrict lxc because of apparmor
We don't have the flexibility to do extra things with lxc because it is
a black box and most fo the magic happens before we get a chance to
interact with it in dockerinit.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-02 11:14:24 -07:00
Guillaume J. Charmes 1c5a3123cc Merge pull request #5529 from crosbymichael/restrict-proc
Mount /proc and /sys read-only, except in privileged containers
2014-05-02 10:52:53 -07:00
Victor Vieux 8c9192cd76 move hijack to it's own file
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 17:45:58 +00:00
Felix Rabe 877ad96d89 cli.md: Fix up Markdown formatting by adding one ` 2014-05-02 16:53:59 +02:00
Solomon Hykes b372c19b38 Merge pull request #5501 from discordianfish/add-commit-message-bp 2014-05-01 23:47:31 -07:00
Solomon Hykes f4b60a385c Merge pull request #5536 from vmarmol/add-maintainers-libcontainer 2014-05-01 23:42:50 -07:00
Michael Crosby 76fa7d588a Apply apparmor before restrictions
There is not need for the remount hack, we use aa_change_onexec so the
apparmor profile is not applied until we exec the users app.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 19:09:12 -07:00
James Turnbull b263495f6a Merge pull request #5541 from SvenDowideit/docs-generate-all-api-docs
Force the older API docs to be generated.
2014-05-01 20:58:12 -04:00
Sven Dowideit 41db175626 Force the older API docs to be generated.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-02 10:46:41 +10:00
Victor Vieux 314bd02d2c remove when httputil.NewClientConn when not in hijack
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-02 00:25:10 +00:00
Sven Dowideit 148e081ded Merge pull request #5521 from SvenDowideit/doc-auto-section
make sure the intermediate index.html files are generated consistently
2014-05-02 10:13:18 +10:00
Sven Dowideit 5a8ffe7ef1 make sure the intermediate index.html files are generated consistently
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-02 10:08:25 +10:00
O.S. Tezer ccbc4f24d6 Merge pull request #5517 from SvenDowideit/5267-make-archived-docs-hidden-but-linkable
Bring back archived remote API versions
2014-05-02 02:56:03 +03:00
Sven Dowideit de49e7c0a6 Bring back archived remote API versions
- git mv archived/* .
- put the links back into the summary document
- reduce the header depth by 1 so the TOC lists each API version
- update the mkdocs.yaml to render the archived API docs, but not add
  them to the menu/nav

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-02 09:47:33 +10:00
James Turnbull edab1bd5e5 Merge pull request #5524 from ostezer/docs-fix-codeblocks
Improve code/comment/output markings & display consistency
2014-05-01 19:39:06 -04:00
Victor Marmol 71e3757174 Adding Rohit Jnagal and Victor Marmol to pkg/libcontainer maintainers.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-05-01 15:51:38 -07: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
Michael Crosby 24e0df8136 Fix /proc/kcore mount of /dev/null
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 15:26:58 -07:00
Michael Crosby 3f74bdd93f Mount attr and task as rw for selinux support
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 15:26:58 -07:00
Michael Crosby f5139233b9 Update restrictions for better handling of mounts
This also cleans up some of the left over restriction paths code from
before.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 15:26:58 -07:00
Michael Crosby 83982e8b1d Update to enable cross compile
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 15:26:58 -07:00
Jérôme Petazzoni 1c4202a614 Mount /proc and /sys read-only, except in privileged containers.
It has been pointed out that some files in /proc and /sys can be used
to break out of containers. However, if those filesystems are mounted
read-only, most of the known exploits are mitigated, since they rely
on writing some file in those filesystems.

This does not replace security modules (like SELinux or AppArmor), it
is just another layer of security. Likewise, it doesn't mean that the
other mitigations (shadowing parts of /proc or /sys with bind mounts)
are useless. Those measures are still useful. As such, the shadowing
of /proc/kcore is still enabled with both LXC and native drivers.

Special care has to be taken with /proc/1/attr, which still needs to
be mounted read-write in order to enable the AppArmor profile. It is
bind-mounted from a private read-write mount of procfs.

All that enforcement is done in dockerinit. The code doing the real
work is in libcontainer. The init function for the LXC driver calls
the function from libcontainer to avoid code duplication.

Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)
2014-05-01 15:26:58 -07:00
Michael Crosby 559dc9a66a Merge pull request #5534 from vieux/fix_apparmor_inside_container
Fix apparmor inside container
2014-05-01 15:25:40 -07:00
Victor Vieux de191e8632 skip apparmor with dind
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-01 22:22:08 +00:00
Victor Vieux ae686c0486 Revert "add apparmor to the Dockerfile"
This reverts commit fa1e390cad.

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-01 21:49:53 +00:00
Tianon Gravi 8296125b32 Merge pull request #5532 from vieux/add_apparmor_dockerfile
Add apparmor to the Dockerfile to fix dind issues
2014-05-01 15:00:48 -06:00
Victor Vieux fa1e390cad add apparmor to the Dockerfile
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
2014-05-01 20:51:16 +00:00
Michael Crosby 20bcb80f40 Merge pull request #5457 from tiborvass/5423-bridge-ip
Fix bridge ip comparison
2014-05-01 11:56:47 -07:00
Michael Crosby ab0518bfe8 Merge pull request #5528 from crosbymichael/drop-capsyslog
drop CAP_SYSLOG capability
2014-05-01 11:52:08 -07:00
Eiichi Tsukata cac0cea03f drop CAP_SYSLOG capability
Kernel capabilities for privileged syslog operations are currently splitted into
CAP_SYS_ADMIN and CAP_SYSLOG since the following commit:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ce6ada35bdf710d16582cc4869c26722547e6f11

This patch drops CAP_SYSLOG to prevent containers from messing with
host's syslog (e.g. `dmesg -c` clears up host's printk ring buffer).

Closes #5491

Docker-DCO-1.1-Signed-off-by: Eiichi Tsukata <devel@etsukata.com> (github: Etsukata)
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-05-01 11:43:55 -07:00
Guillaume J. Charmes fe4a25546a Merge pull request #5515 from crosbymichael/refactor-libcontainer2
Remove CommandFactory and NsInit interface
2014-05-01 11:41:54 -07:00
Solomon Hykes 10a50fcd8f Merge pull request #5526 from shykes/pr_out_beam_add_simple_framing_system_for_unixconn 2014-05-01 11:06:14 -07:00
Alexander Larsson 24f9187a04 beam: Add simple framing system for UnixConn
This is needed for Send/Recieve to correctly handle borders between
the messages.

The framing uses a single 32bit uint32 length for each frame, of which
the high bit is used to indicate whether the message contains a file
descriptor or not. This is enough to separate out each message sent
and to decide to which message each file descriptors belongs, even
though multiple Sends may be coalesced into a single read, and/or one
Send can be split into multiple writes.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-05-01 11:06:01 -07:00
Guillaume J. Charmes c42db412b6 Merge pull request #5092 from LK4D4/timestamp_for_docker_logs_#1165
Timestamps for docker logs.
2014-05-01 10:32:34 -07:00
Alexandr Morozov d1297feef8 Timestamps for docker logs.
Fixes #1165
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-05-01 20:40:36 +04:00
O.S.Tezer f87a97f7df Improve code/comment/output markings & display consistency
This PR aims to increase the consistency across the docs for
code blocks and code/comment/output markings.

Rule followed here is "what's visible on the screen should be reflected"

Issue:

 - Docs had various code blocks showing: comments, commands & outputs.
 - All three of these items were inconsistently marked.

Some examples as to how this PR aims to introduce improvements:

1. Removed `> ` from in front of the "outputs". Eg,
`    > REPOSITORY                 TAG       ID              CREATED` replaced with:
`    REPOSITORY                 TAG       ID              CREATED`.

2. Introduced `$` for commands. Eg,
`    sudo chkconfig docker on` replaced with:
`    $ sudo chkconfig docker on`

3. Comments:
`    > # ` replaced with:
`    # `.

> Please note:
> Due to a vast amount of items reviewed and changed for this PR, there
> might be some individually incorrect replacements OR patterns of incorrect
> replacements. This PR needs to be reviewed and if there is anything missing,
> it should be improved or amended.

Closes:
https://github.com/dotcloud/docker/issues/5286

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-05-01 17:52:01 +03:00
O.S. Tezer 51a39563fa Merge pull request #5519 from SvenDowideit/remove-rst-docs
remove rst/sphinx documentation
2014-05-01 16:33:54 +03:00
O.S. Tezer c52bb90d03 Merge pull request #5516 from SvenDowideit/docs-meta-rendering
add page_description and page_keywords md meta to mkdocs html template
2014-05-01 16:16:48 +03:00
Sven Dowideit adf04681b4 remove rst/sphinx documentation
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-01 15:31:58 +10:00
Sven Dowideit 8ae53ef167 add page_description and page_keywords md meta to mkdocs html template
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-05-01 12:41:57 +10:00
Victor Vieux 9da75eb4df Merge pull request #5514 from vbatts/vbatts-save_typo
docker save: typo reference image, not container
2014-04-30 19:00:22 -07:00
Michael Crosby d0bee79394 Remove container.json from readme
No need to duplicate this information when we already have a
container.json file in the root of libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 18:52:15 -07:00
Vincent Batts 93f8e277de docker save: typo reference image, not container
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-04-30 21:51:03 -04:00
Michael Crosby da0d6dbd7b Make native driver use Exec func with different CreateCommand
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 18:49:24 -07:00
Michael Crosby aa9705f832 Fix execin with environment and Enabled support
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 18:24:47 -07:00
Michael Crosby 60e4276f5a Integrate new structure into docker's native driver
This duplicates some of the Exec code but I think it it worth it because
the native driver is more straight forward and does not have the
complexity have handling the type issues for now.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 18:20:01 -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
Michael Crosby 176c49d7a9 Remove command factory and NsInit interface from libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 17:55:15 -07:00
Michael Crosby b6b0dfdba7 Export more functions from libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 17:18:07 -07:00
Michael Crosby aecb9c39ab Split term files to make it easier to manage
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 17:04:24 -07:00
Michael Crosby a3e96abb5a Export syncpipe fields
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 17:02:45 -07:00
Guillaume J. Charmes 26ac05c8bc Merge pull request #5511 from crosbymichael/refactor-libcontainer
Refactor: remove statewriter type and all callback for process start
2014-04-30 16:50:57 -07:00
Guillaume J. Charmes be013c7820 Merge pull request #5512 from crosbymichael/set-freezer
Add ability to set cgroups freezer
2014-04-30 16:50:01 -07:00
Michael Crosby 5f6fda8cfd Add ability to set cgroups freezer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 16:07:12 -07:00
Michael Crosby f110401437 Remove statewriter interface, export more libcontainer funcs
This temp. expands the Exec method's signature but adds a more robust
way to know when the container's process is actually released and begins
to run.  The network interfaces are not guaranteed to be up yet but this
provides a more accurate view with a single callback at this time.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 15:52:40 -07:00
Michael Crosby cd8cec854b Export SetupUser
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 15:27:59 -07:00
Michael Crosby 162dafbcd5 Remove logger from nsinit struct
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 15:24:18 -07:00
Michael Crosby bfedf247a4 Merge pull request #5498 from tianon/better-apparmor-missing-error 2014-04-30 15:16:43 -07:00
Guillaume J. Charmes 2a711d16e0 Merge pull request #5448 from crosbymichael/selinux-defaults
Add selinux label support for processes and mount
2014-04-30 14:14:39 -07:00
Michael Crosby 2fc5bed61d Merge pull request #5506 from crosbymichael/add-system-maintainer
Add system maintainers
2014-04-30 14:14:21 -07:00
Tibor Vass 986c647d5a Fix bridge ip comparison
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-04-30 12:36:16 -07:00
Michael Crosby e88ef454b7 Merge pull request #5464 from tianon/close-leftover-fds 2014-04-30 12:27:52 -07:00
Solomon Hykes 1fd919bbf4 Make Jerome Petazzoni a maintainer for dind
In the spirit of getting more contributors to maintain their
components.. I nominate @jpetazzo ot maintain dind (he's the original
author).

@jpetazzo I don't expect this to be too much load, but it's a good and
symbolic start :)

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-30 12:20:52 -07:00
Michael Crosby 6203d8b462 Add system maintainers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-30 12:01:06 -07:00
Victor Vieux f5e5777e63 Merge pull request #5502 from tianon/remove-contrib-zfs
Remove contrib/zfs directory
2014-04-30 11:03:13 -07:00
Bryan Matsuo 99284a24e7 FIXES #5398: pkg/graphdb build only dependent on cgo tag
Docker-DCO-1.1-Signed-off-by: Bryan Matsuo <bryan.matsuo@gmail.com> (github: bmatsuo)
2014-04-30 11:57:10 -06:00
Tianon Gravi 0037dc8d60 Remove contrib/zfs directory
A WIP pull request or issue for discussion would be a better avenue for collaboration and discussion of a ZFS backend.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-30 11:56:14 -06:00
Victor Vieux e8f8f1c729 Merge pull request #5500 from tianon/fix-maintainers-format
Fix various MAINTAINERS format inconsistencies
2014-04-30 10:55:45 -07:00
Johannes 'fish' Ziemke 5f00372af2 Add notes about git commit messages
This improves readability of commits a lot and is easy to
follow. I think most people follow those rules already. They are based
on http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

Docker-DCO-1.1-Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org> (github: discordianfish)
2014-04-30 19:28:26 +02:00
Tianon Gravi defecac279 Fix various MAINTAINERS format inconsistencies
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-30 11:22:11 -06:00
Bryan Matsuo 8caef610b2 update AUTHORS
Docker-DCO-1.1-Signed-off-by: Bryan Matsuo <bryan.matsuo@gmail.com> (github: bmatsuo)
2014-04-30 11:08:57 -06:00
unclejack 4fac4d2149 check if the daemon is run as root on startup
This commit makes Docker throw an error if the daemon isn't started as
root.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-30 14:13:39 +03:00
Solomon Hykes 0c5375146a Merge branch 'pr-5353' 2014-04-30 02:10:53 -07:00
Alexander Larsson e802b69146 beam: Add more tests to unix_test.go
These are failing, and indicate things that need to be fixed.  The
primarily problem is the lack of framing between beam messages.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
[solomon@docker.com: rebased on master]
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-04-30 02:10:09 -07:00
Victor Marmol 494c789ac3 Add new test-unit make rule which only runs the unit tests. Renames test
bundle to test-unit.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-30 02:10:09 -07:00
Sven Dowideit 9e2e26c69a for want of a comma, the kingdom was lost
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-30 02:10:09 -07:00
Tianon Gravi a1a9baf926 Update pkg/apparmor to provide a better error message when apparmor_parser cannot be found
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-29 23:19:21 -06:00
Tianon Gravi 70b5652984 Merge pull request #5484 from vmarmol/add-test-unit
Add new test-unit make rule which only runs the unit tests
2014-04-29 23:15:16 -06:00
James Turnbull 48388b8178 Merge pull request #5487 from SvenDowideit/docs-fix-invalid-json
for want of a comma, the kingdom was lost
2014-04-29 22:28:59 -04:00
Solomon Hykes 20e9f61971 Merge pull request #5320 from JackDanger/jackdanger/typo-doc-fix 2014-04-29 17:41:16 -07:00
Sven Dowideit ebaff50bd2 for want of a comma, the kingdom was lost
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-30 10:12:21 +10:00
Victor Marmol a39f3c9200 Add new test-unit make rule which only runs the unit tests. Renames test
bundle to test-unit.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-29 23:26:27 +00:00
Tianon Gravi d5d62ff955 Close extraneous file descriptors in containers
Without this patch, containers inherit the open file descriptors of the daemon, so my "exec 42>&2" allows us to "echo >&42 some nasty error with some bad advice" directly into the daemon log. :)

Also, "hack/dind" was already doing this due to issues caused by the inheritance, so I'm removing that hack too since this patch obsoletes it by generalizing it for all containers.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-29 16:45:28 -06:00
Tianon Gravi a96cac4d7d Merge pull request #5477 from vmarmol/add-testdirs
Add a TESTDIRS variable to the test bundle to control which directories are unit tested
2014-04-29 16:40:40 -06:00
O.S. Tezer 34a3d41d17 Merge pull request #5440 from ostezer/docs-improve-code-block-rendering
Docs/CSS: Amend code block rendering.
2014-04-30 00:45:04 +03:00
Guillaume J. Charmes 2c85468753 Merge pull request #5460 from tianon/no-pull-scratch
Use "docker load" to create "scratch" in hack/make/test-integration-cli (instead of implicitly pulling it from the index)
2014-04-29 14:37:06 -07:00
O.S. Tezer 473b7a6c93 Merge pull request #5478 from amangoel/patch-1
Update working-with-docker.md
2014-04-30 00:00:14 +03:00
Victor Marmol 6e05c420c9 Add a TESTDIRS variable to the test bundle to allow for the running of a
single go directory worth of tests.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-29 20:55:04 +00:00
amangoel 83a5f2a192 Update working-with-docker.md 2014-04-29 13:49:36 -07:00
O.S. Tezer 1bc0f82406 Merge pull request #5475 from srijs/patch-1
docs: DisableNetwork -> NetworkDisabled
2014-04-29 23:43:28 +03:00
Michael Crosby bf59e67232 Merge pull request #5476 from rjnagal/libcontainer-fixes
Cleanup cgroups on Set failures
2014-04-29 12:27:31 -07:00
Sam Rijs 9651ff46bf docs: DisableNetwork -> NetworkDisabled
Docker-DCO-1.1-Signed-off-by: Samuel Reis <srijs@airpost.net> (github: srijs)
2014-04-29 21:18:26 +02:00
Victor Vieux 9d4771760a Merge pull request #5474 from crosbymichael/use-proper-scheme
Use proper scheme with static registry
2014-04-29 12:04:49 -07:00
Rohit Jnagal 070747a213 Cleanup existing controllers when cleanup fails mid-way.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-29 18:59:20 +00:00
Victor Vieux 8a5060dba4 Merge pull request #4607 from vbatts/vbatts-static_registry
static registry support
2014-04-29 11:22:44 -07:00
Michael Crosby 0c7143b323 Add mountlabel to dev
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:41:44 -07:00
Michael Crosby 1a5ffef6c6 Do not return labels when in privileged mode
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:40:06 -07:00
Michael Crosby 64d0f7e39b Add cli flag to docs for selinux support
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:40:06 -07:00
Michael Crosby 46e05ed2d9 Update process labels to be set at create not start
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:40:05 -07:00
Michael Crosby ae00649305 Update devicemapper to pass mount flag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:40:05 -07:00
Dan Walsh 12934ef3a4 Fix SELinux errors caused by multi-threading
Occasionally the selinux_test program will fail because we are setting file
context based on the Process ID but not the TID.  THis change will always
use the TID to set SELinux labels.

Docker-DCO-1.1-Signed-off-by: Daniel Walsh <dwalsh@redhat.com> (github: rhatdan)
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: crosbymichael)
2014-04-29 03:40:05 -07:00
Dan Walsh b7942ec2ca This patch reworks the SELinux patch to be only run on demand by the daemon
Added --selinux-enable switch to daemon to enable SELinux labeling.

The daemon will now generate a new unique random SELinux label when a
container starts, and remove it when the container is removed.   The MCS
labels will be stored in the daemon memory.  The labels of containers will
be stored in the container.json file.

When the daemon restarts on boot or if done by an admin, it will read all containers json files and reserve the MCS labels.

A potential problem would be conflicts if you setup thousands of containers,
current scheme would handle ~500,000 containers.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: crosbymichael)
2014-04-29 03:40:05 -07:00
Michael Crosby f0e6e135a8 Initial work on selinux patch
This has every container using the docker daemon's pid for the processes
label so it does not work correctly.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 03:40:05 -07:00
O.S. Tezer 797a4151a0 Merge pull request #5458 from SvenDowideit/add-redirects-for-docker-io-pr-5414
add redirects from index/ -> docker-io/ and for the docker-io_api too
2014-04-29 12:37:22 +03:00
Michael Crosby 44d54ba0c2 Use proper scheme with static registry
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-29 02:01:07 -07: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
Tianon Gravi b1fe1797f3 Update hack/dind to match the rest of our scripts
No functional changes here, just coding style and maintainability.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 23:16:40 -06:00
Tianon Gravi 83999e70f4 Merge pull request #5433 from SvenDowideit/remove-sphinx-validation-from-build
Remove Travis Sphinx validation
2014-04-28 22:59:53 -06:00
Tianon Gravi a7f21570b6 Merge pull request #5459 from shykes/remove-bootcamp
Remove obsolete 'bootcamp' project.
2014-04-28 22:59:20 -06:00
Tianon Gravi c8381d6722 Use "docker load" to create "scratch" in hack/make/test-integration-cli (instead of implicitly pulling it from the index)
Creating the "docker save" tarball for "scratch" is pretty simple.  I've also extrapolated the "docker build -t busybox ." logic into a separate "hack/make/.ensure-busybox" file so that it can eventually be reused easier.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 22:26:25 -06:00
Solomon Hykes 46492ee65a Remove obsolete 'bootcamp' project.
It was a nice idea to recruit more maintainers but we never found the
time to do it properly...

I am still interested in any ideas to make it easier to start
contributing!

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-28 21:25:26 -07:00
Tianon Gravi e4114e6b94 Update some whitespace in hack/make/test-integration-cli for consistency
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 22:22:31 -06:00
Sven Dowideit 17fbe3de38 remove the sphinx validation - we'll add a MarkDown one when we have it
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-29 13:43:13 +10:00
Sven Dowideit 53c35412f9 Merge pull request #5438 from ostezer/docs-expand-viewport
Docs/CSS fix: Allow viewport expand to user's preference
2014-04-29 13:35:10 +10:00
Sven Dowideit 33f36177e9 add redirects from index/ -> docker-io/ and for the docker-io_api too
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-29 13:33:22 +10:00
Sven Dowideit 6c4e5ee826 Merge pull request #5414 from jamtur01/privreg
Addressed regression of private repository documentation.
2014-04-29 13:28:21 +10:00
James Turnbull 81d6c0f106 Merge pull request #5439 from ostezer/docs-mkdocs-theme-maintainer-update
Docs/theme/MAINTAINERS: Modify/Update list of MAINTAINERS
2014-04-28 23:12:10 -04:00
James Turnbull 548cadd0a2 Merge pull request #5441 from ostezer/docs-fix-notes-warnings-bg
Docs/CSS: Fix Notes/Warnings blocks' BG colour to improve its state.
2014-04-28 23:09:13 -04:00
James Turnbull 6b5fd2daf7 Merge pull request #5443 from ncdc/commit-api-doc-fix
Docs fix: correct /commit info
2014-04-28 23:09:04 -04:00
Michael Crosby 69d56acd45 Merge pull request #5455 from rjnagal/cgroup-stats
Add throttling stats for cpu cgroup
2014-04-28 17:53:37 -07:00
Rohit Jnagal d724242297 Another test to check for invalid stats.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-29 00:32:05 +00:00
Michael Crosby 934bd15565 Merge pull request #5389 from tiborvass/5152-symlink-in-volume
Fixes #5152 : symlink in volume path
2014-04-28 17:27:18 -07:00
Rohit Jnagal 61f156d521 Add cpu throttling stats.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-29 00:18:18 +00: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
Tianon Gravi 0932488402 Merge pull request #5450 from tianon/update-deb-cgroup-dep
Update the "cgroup-lite" dep in our deb package from "Suggests" to "Recommends" and add "cgroupfs-mount" as another alternative
2014-04-28 17:49:36 -06:00
Michael Crosby 5b3f7851d8 Merge pull request #5451 from vmarmol/add-memory-stats
Adding a unit test for stats in pkg/cgroup/fs/memory.go
2014-04-28 16:38:34 -07:00
Victor Vieux eb6a1c9f49 Merge pull request #5449 from tianon/remove-libcontainer-root-special-case
Remove "root" and "" special cases in libcontainer
2014-04-28 16:29:08 -07:00
Michael Crosby fbc7a069f2 Merge pull request #5392 from rjnagal/libcontainer-fixes
Minor libcontainer fixes
2014-04-28 16:26:17 -07:00
Tianon Gravi 314818e7ba Update the "cgroup-lite" dep in our deb package from "Suggests" to "Recommends" and add "cgroupfs-mount" as another alternative
I tested to verify that if neither package is available (for example, on Debian Wheezy), apt still continues installing properly.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 17:08:03 -06:00
Rohit Jnagal c44c51e3ce Merge branch 'master' into libcontainer-fixes
Conflicts:
	pkg/libcontainer/README.md
	pkg/libcontainer/container.json

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-28 23:04:04 +00:00
Victor Marmol 76f95294a3 Adding a unit test for pkg/cgroup/fs/memory.go
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-28 22:58:25 +00:00
Tianon Gravi d98069030d Remove "root" and "" special cases in libcontainer
These are unnecessary since the user package handles these cases properly already (as evidenced by the LXC backend not having these special cases).

I also updated the errors returned to match the other libcontainer error messages in this same file.

Also, switching from Setresuid to Setuid directly isn't a problem, because the "setuid" system call will automatically do that if our own effective UID is root currently: (from `man 2 setuid`)

    setuid() sets the effective user ID of the calling process.  If the
    effective UID of the caller is root, the real UID and saved set-user-
    ID are also set.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-28 16:46:03 -06: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
Victor Vieux af72ca199d Merge pull request #5136 from cpuguy83/5080_fix_empty_volume_perms
Fixes permissions on volumes when dir in container is empty
2014-04-28 14:36:02 -07:00
Brian Goff ff7b52abd3 Fixes permissions on volumes when dir in container is empty
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-04-28 16:57:28 -04:00
Tibor Vass e9a42a45bf Fixes #5152 : symlink in volume path
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
2014-04-28 13:18:12 -07:00
James Turnbull a8871b93b9 Addressed regression of private repository documentation.
This adds back in the references to private repositories and
provides some refactoring to the Working with repositories
documentation including updating references to the "Central"
registry to Docker.io.

It also:

* Fixes some links and references to Central Index
* Fixes anchors in other files to updated titles in Working with Repositories.
* Renamed Central Index in the remaining places.
* Updated terms documentation to reflect Docker.io
* Updated some Docker Index naming to be consistent.
* Updates menu labels and hyperlinks.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-28 16:08:55 -04:00
Solomon Hykes d8332f433f Merge pull request #5422 from shykes/engine-spawn
engine/spawn: run an engine in a subprocess, remote-controlled by Beam
2014-04-28 12:56:02 -07:00
Michael Crosby b386f2f558 Merge pull request #5412 from vmarmol/add-blkio-test
Adding a test for blkio stats.
2014-04-28 12:50:20 -07:00
Michael Crosby 3c5bac0348 Merge pull request #5394 from vmarmol/add-croup-memory-stats
Add memory usage and max usage stats.
2014-04-28 12:44:34 -07:00
Victor Vieux 68d8d9a62d update message
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-28 19:03:31 +00:00
Victor Vieux 78421b3768 docker rmi -f works with stopped containers + revamped error messages
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-28 19:02:04 +00:00
Andy Goldstein bba1dd046d Docs fix: correct /commit info
Correct documentation for POST /commit to reflect that the container's
configuration is supplied in the request body, and not as a query
parameter.

Also correct a small typo in the example JSON for create container.

Docker-DCO-1.1-Signed-off-by: Andy Goldstein <agoldste@redhat.com> (github: ncdc)
2014-04-28 13:38:58 -04:00
Solomon Hykes 8fac9a345b Merge pull request #5431 from shykes/engine-len
engine.Len returns the number of keys in an env
2014-04-28 10:16:49 -07:00
O.S.Tezer abf3baf4eb Docs/CSS: Fix Notes/Warnings blocks' BG colour to improve its state.
Docs' BG was original "#fff" and blocks such as code blocks or
warning-notes blocks were coloured in #F2F2F2.

In order to make it easier to read everything, the BG colour was
changed to #fff. However, the switch missed to convert other blocks'
BG colour.

This commit aims to re-introduce the correct contrast by changing the
BG colour of warning/notes block to #fff.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-28 19:02:50 +03:00
O.S.Tezer f334dbe82d Docs/CSS: Amend code block rendering.
This commit aims to improve the rendering of code blocks by
reducing the padding, matching the font-size with the rest of the
documentation text and finally, by changing the background colour
back to white from its current gray-ish state which matches the
background colour and making it really hard to spot the code.

Note: The BG colouring issue is due to converting the main BG
to gray whilst missing to change parts that where gray to white, i.e.,
not making the complete switch.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-28 18:58:15 +03:00
O.S.Tezer 442b70c65a Docs/theme/MAINTAINERS: Modify/Update list of MAINTAINERS
So far it has been mostly my duty to create and maintain docs' design/theme.

This commit adds myself to the list of maintainers by modifying
the MAINTAINERS file under the docs/theme directory.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-28 18:36:40 +03:00
O.S.Tezer b6699111db Docs/CSS fix: Aallow viewport expand to user's preference
This commit removes the "max-width" property of DOM "containers";
Thus letting the viewport to expand to fill the available space.

This commit aims to bring pleasure to Docker docs' readers' eyes,
And to make them happy by letting them profit more from their large
monitors. (or use more efficiently their smaller ones).

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-28 18:30:31 +03:00
unclejack 425b315695 Merge pull request #5199 from shin-/registry_mirrors_support
Added support for multiple endpoints in X-Docker-Endpoints header
2014-04-28 17:56:57 +03:00
James Turnbull 4155874443 Merge pull request #4576 from Soulou/4549-doc-kill-signal-param
Add missing 'signal' parameter for kill endpoint
2014-04-28 04:39:25 -04:00
Solomon Hykes 9b23178f58 engine.Len returns the number of keys in an env
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-28 00:37:42 -07:00
Solomon Hykes b4b83ef8ae engine/spawn: run an engine in a subprocess, remote-controlled by Beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-27 14:11:46 -07:00
Solomon Hykes 9236e088eb Fix bug in engine.Sender
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-27 14:11:45 -07:00
Solomon Hykes 62f4c88443 Merge pull request #5374 from shykes/beam-engine
Remote communication between engines using beam
2014-04-27 14:10:59 -07:00
O.S. Tezer 44c69c1d87 Merge pull request #5425 from jlhawn/io-auth-accounts-api-docs
Merged.
2014-04-27 21:40:03 +03:00
Josh Hawn c6060a3b25 Added back OAuth and Accounts API docs pages
Removed a now unused endpoint from the accounts API.
Updated some of the accounts links to point to www.docker.io
as the account signup and resend-email-confirmation links should
no longer point to the index.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-04-27 11:17:48 -07:00
Soulou 91deb591c8 [Documentation - API] Add missing 'signal' parameter for /containers/:id/kill endpoint
Docker-DCO-1.1-Signed-off-by: Leo Unbekandt <leo.unbekandt@appsdeck.eu> (github: Soulou)
2014-04-27 18:10:30 +01:00
Solomon Hykes e83fc70d36 Freeze ./integration and explain where to contribute new tests
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-26 18:55:39 -07:00
Sven Dowideit 40882cc0b6 Merge pull request #5417 from jamtur01/readme3
Fixed double backtick to single backtick formatting issue in README
2014-04-27 11:48:52 +10:00
Sven Dowideit 91cd60efd8 Merge pull request #5416 from jamtur01/dockerize
Fixed Dockerise to Dockerize
2014-04-27 11:48:27 +10:00
James Turnbull 723d314f09 Replaced all double backticks in README with singles
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-26 10:12:09 -04:00
James Turnbull df018bc801 Fixed Dockerise to Dockerize
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-26 09:48:07 -04:00
Sven Dowideit 3b279d0218 Merge pull request #5415 from jamtur01/readme2
Updated Docs README
2014-04-26 23:36:41 +10:00
James Turnbull 7744f63159 Updated Docs README
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-26 08:10:19 -04:00
Victor Marmol f4055ee2a4 Adding a test for blkio stats.
Also adds a test utility we can use for other cgroup tests.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-26 07:29:13 +00:00
unclejack 44140f7909 Merge pull request #5411 from crosbymichael/lockdown
Update default restrictions for exec drivers
2014-04-26 03:27:56 +03:00
Solomon Hykes 4701f8ee60 Merge pull request #5365 from crosbymichael/job-status
Add exported status code from a job
2014-04-25 17:27:07 -07:00
Solomon Hykes 7e3624a498 engine: 'rengine' is a small command-line utility to debug remote engine
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-25 17:23:47 -07:00
Solomon Hykes b63b98ee27 engine.Sender and engine.Receiver support stdin
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-25 17:23:47 -07:00
Solomon Hykes 3c1d5ca33e Remote communication between engines using beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-25 17:23:47 -07:00
Solomon Hykes 68d3e75750 engine: allow registering a "catchall" handler which receives all commands
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-25 17:23:16 -07:00
Solomon Hykes 9422451ac3 engine.Installer: a standard interface for "installable" services
Installer is a standard interface for objects which can "install"
themselves an engine by registering handlers.

This can be used as an entrypoint for external plugins etc.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-25 17:23:16 -07:00
Vincent Batts 7790a77b6a static_registry: update the test for the new struct
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-04-25 20:01:25 -04:00
Rohit Jnagal 8cdb720d26 Updated sample config to be usable. We should change the namespace
config to not need "value" later.

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 21:10:23 +00:00
unclejack 077b7d0359 Merge pull request #5342 from danielnorberg/avoid-suicide
avoid suicide
2014-04-25 21:44:45 +03: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
James Turnbull ed48608147 Merge pull request #5401 from SvenDowideit/docs-api-eg-formating
small api doc formatting fixup
2014-04-25 09:11:46 -04: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
Sven Dowideit c7bd1f4e64 small api doc formatting fixup
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-25 20:36:31 +10:00
Rohit Jnagal 24f978094d Updated sample config and README to match the default template for
native execdriver.

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 06:02:30 +00:00
Victor Marmol ad924959a9 Add memory usage and max usage stats.
Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-25 02:51:28 +00:00
Rohit Jnagal 580c2620e7 Improved README formatting.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 01:23:48 +00:00
Rohit Jnagal 569b234135 Add enabled option to namespaces and capabilities spec in
container.json. Although we don't yet check for enabled everywhere.

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 01:10:11 +00:00
Rohit Jnagal 0aacca3ae6 Fix typos in nsinit logs.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 00:20:14 +00:00
Rohit Jnagal 14b2a9de87 Fix container.json sample to be loadable by nsinit.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-25 00:17:45 +00:00
James Turnbull a368c0dd50 Merge pull request #5355 from SvenDowideit/doc-ubuntu-14-04-lts
initial version of installation on ubuntu 14.04 LTS
2014-04-24 20:06:08 -04:00
Sven Dowideit b3bea07d56 Merge pull request #5371 from ostezer/docs-add-docs-versioning-files-to-gitignore
Docs: Add docs new version files created by `make docs` to .gitignore
2014-04-25 09:08:43 +10:00
Sven Dowideit 1083b6d2ec Merge pull request #5372 from SvenDowideit/docs-tweaks-to-socket-options
Docs tweaks to socket options
2014-04-25 09:08:22 +10:00
Sven Dowideit 7f64210e9e Merge pull request #5378 from ostezer/docs-fix-stray-url-from-warning
Fix stray url from beta-docs warning (remove aws bucket URI)
2014-04-25 09:07:58 +10:00
Guillaume J. Charmes 85540f6aa0 Merge pull request #5373 from vmarmol/master
Separating cgroup Memory and MemoryReservation.
2014-04-24 14:28:40 -07:00
Michael Crosby 8af84c5e23 Merge pull request #5335 from alexlarsson/remove-ghost
container: Remove Ghost state
2014-04-24 11:55:05 -07:00
Victor Marmol f188b9f623 Separating cgroup Memory and MemoryReservation.
This will allow for these to be set independently. Keep the current Docker behavior where Memory and MemoryReservation are set to the value of Memory.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
2014-04-24 11:09:38 -07:00
Michael Crosby d5c9f61ecc Ignore isnot exists errors for proc paths
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby fa5cabf9fe Update init for new apparmor import path
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 90678b3133 Update create with apparmor import
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 2d31aeb911 Update container.json and readme
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 2d6c367434 Increment native driver version with these changes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 7a0b361066 Move capabilities into security pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 156987c118 Move mounts into types.go
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby a949d39f19 Move rest of console functions to pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 05b611574f Refactor mounts into pkg to make changes easier
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby de3d51b0a8 Move console into its own package
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 5ba1242bdc Mount over dev and only copy allowed nodes in
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 81e5026a6a No not mount sysfs by default for non privilged containers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 0779a8c328 Add lxc support for restricting proc
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby 60a90970bc Add restrictions to proc in libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:19 -07:00
Michael Crosby d26ea78e42 Move apparmor into security sub dir
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-24 10:35:19 -07:00
Michael Crosby 4ed165210f Merge pull request #5381 from rjnagal/master
Add support for cpu hardcapping to cgroups.
2014-04-24 10:04:17 -07:00
Guillaume J. Charmes 56b779c321 Merge pull request #5356 from alexlarsson/devmapper-no-mount-in-create
devicemapper: Don't mount in Create()
2014-04-24 08:19:59 -07:00
Rohit Jnagal 264dc8a46b Add support for cpu hardcapping to cgroups.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-04-24 14:43:02 +00:00
O.S.Tezer 5e5230cb19 Fix stray url from beta-docs warning (remove aws bucket URI)
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-24 16:29:12 +03:00
Sven Dowideit da8f6ffdeb initial version of installation on ubuntu 14.04 LTS
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-04-24 22:59:59 +10:00
O.S. Tezer df20a0e7a3 Merge pull request #5377 from SvenDowideit/fix-terms-links
Merged.
2014-04-24 15:42:10 +03:00
Sven Dowideit ada86fc5b7 Looking into some broken links, I noticed that we don't need to use
relative paths, and also fixed some broken images.

There are still more todo - next PR I think :)

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-24 22:20:04 +10:00
O.S.Tezer c932667cd2 Docs auto-conversion fixes and MD marking and structure improvements.
- Remove redundant chars and all errors caused by RST->MD conversion.
   e.g. [/#, /\, \<, />, etc.]
 - Fix broken inter-document links
 - Fix outbound links no-longer active or changed
 - Fix lists
 - Fix code blocks
 - Correct apostrophes
 - Replace redundant inline note marks for code with code marks
 - Fix broken image links
 - Remove non-functional title links
 - Correct broken cross-docs links
 - Improve readability

Note: This PR does not try to fix/amend:

 - Grammatical errors
 - Lexical errors
 - Linguistic-logic errors etc.

It just aims to fix main structural or conversion errors to serve as
a base for further amendments that will cover others including but
not limited to those mentioned above.

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

Update:

 - Fix backtick issues

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-04-24 22:19:32 +10:00
O.S.Tezer d9f9021e9b Docs: Add docs new version files created by make docs to .gitignore
Files are:

 - docs/AWS_S3_BUCKET
 - docs/GIT_BRANCH
 - docs/VERSION

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

Update:

 - Remove unnecessary last blankline
2014-04-24 13:33:00 +03:00
James Turnbull 83b388c979 Merge pull request #5362 from sindhus/patch-2
Update link to interactive tutorial
2014-04-24 00:22:04 -04:00
Sven Dowideit b2c87fe08b add a reference to multiple -H options, and update the other example of -H option
and copy changes to the cli.md file

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-24 11:24:58 +10:00
Mike MacCana e62efb266f - unix://path/to/socket should read unix:///path/to/socket like the rest of the documentation (a slash was missing)
- Mention that [] options may be specified multiple times on the Usage page

Docker-DCO-1.1-Signed-off-by: Mike MacCana <mike.maccana@gmail.com> (github: mikemaccana)

Docker-DCO-1.1-Signed-off-by: Mike MacCana <mike.maccana@gmail.com> (github: SvenDowideit)
2014-04-24 11:11:51 +10:00
Sven Dowideit 0ade0af27e Merge pull request #5349 from ipbabble/manpages
Manpages - fixes and merged tianon/docker man1-assumption branch
2014-04-24 09:43:42 +10:00
Solomon Hykes 0fe48b0e59 Merge pull request #5345 from shykes/engine-installer
engine.Installer: a standard interface for "installable" services
2014-04-23 16:16:55 -07:00
Guillaume J. Charmes baf6cf9056 Merge pull request #5347 from crosbymichael/engine-root
Remove root dir from engine
2014-04-23 13:53:08 -07:00
Michael Crosby f90029611f Add exported status code from a job
This allows the job's status code to be consumed externally so that we
can use it as an exit code or saving to a state file.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-23 13:47:56 -07:00
Sindhu S 81477a204f Update link to interactive tutorial 2014-04-24 01:59:52 +05:30
Sindhu S 6e6b8b69cd Update link to interactive tutorial 2014-04-24 01:02:54 +05:30
Michael Crosby 7100ace42b Remove error from engine.New()
Without creating a root there is no way for the engine to return an
error from the new function.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-23 11:54:35 -07:00
Tianon Gravi 6b0f0af0e9 Merge pull request #5336 from tianon/slightly-more-organized-check-config
Move "possible config locations" list to the top of check-config.sh
2014-04-23 11:21:08 -06:00
Daniel Norberg b3ddc31b95 avoid suicide
container.Kill() might read a pid of 0 from
container.State.Pid due to losing a race with
container.monitor() calling
container.State.SetStopped(). Sending a SIGKILL to
pid 0 is undesirable as "If pid equals 0, then sig
is sent to every process in the process group of
the calling process."

Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-04-23 11:06:59 -04:00
James Turnbull 03aacc4b91 Merge pull request #5351 from SvenDowideit/docs-conditional-beta-warning
Docs conditional beta warning
2014-04-23 08:55:08 -04:00
Alexander Larsson 73d9ede12c devicemapper: Don't mount in Create()
We used to mount in Create() to be able to create a few files that
needs to be in each device. However, this mount is problematic for
selinux, as we need to set the mount label at mount-time, and it
is not known at the time of Create().

This change just moves the file creation to first Get() call and
drops the mount from Create(). Additionally, this lets us remove
some complexities we had to avoid an extra unmount+mount cycle.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-23 13:50:53 +02:00
Sven Dowideit f436c744da Merge pull request #5337 from tianon/man1-assumption
Update contributed man page file names and compilation script
2014-04-23 21:10:01 +10:00
Sven Dowideit dc982d3053 make the non-release doc warning conditional and add version info
use the beta-warning area to tell the user what VERSION of docker, git
branch, and links to the official release version docs are.

requires / extends PR #5272

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-23 21:07:12 +10:00
O.S.Tezer 9d38fd0eef Development docs warning for beta-docs.docker.io
Update: Fix alignment issues of the "warning" block.

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

Docker-DCO-1.1-Signed-off-by: O.S.Tezer <ostezer@gmail.com> (github: SvenDowideit)
2014-04-23 21:07:11 +10:00
O.S. Tezer a99d0c7136 Merge pull request #5352 from rmoriz/patch-1
Merged.
2014-04-23 12:42:41 +03:00
Roland Moriz 086b3208ea fixed broken link to chef community site 2014-04-23 09:17:57 +02:00
William Henry a6fd2c237e Fixed some missing ']' and the TAG
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-04-22 22:35:59 -06:00
William Henry 687653e599 Merge branch 'man1-assumption' of https://github.com/tianon/docker into manpages 2014-04-22 22:21:39 -06:00
William Henry a5b4a90748 Fixed an missing '-' on the "--rm"
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/docker-build.md
2014-04-22 22:17:33 -06:00
William Henry 70654160e6 Merge branch 'master' of https://github.com/dotcloud/docker 2014-04-22 22:14:04 -06:00
Michael Crosby 87e8d7754e Update tests with engine root removal
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-22 19:24:47 -07:00
Tianon Gravi 96588fb85d Merge pull request #5346 from SvenDowideit/dont-alocate-port-for-docs-release
Remove port allocation from `make docs-release`
2014-04-22 20:15:18 -06:00
Michael Crosby 672edfe807 Remove the concept of a root dir out of engine
This makes the engine more general purpose so that we can
use it and the job routing functionality for reexec'ing our binary
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)

Conflicts:
	integration/runtime_test.go
2014-04-22 19:04:03 -07:00
Sven Dowideit e0af429a2a don't try allocating a port to upload a docs release to s3
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-23 11:59:16 +10:00
Victor Vieux 817494d009 Merge pull request #5343 from shykes/beamsh
beam + beam/data + dockerscript
2014-04-22 17:01:05 -07:00
Solomon Hykes 4353f25e10 engine.Installer: a standard interface for "installable" services
Installer is a standard interface for objects which can "install"
themselves an engine by registering handlers.

This can be used as an entrypoint for external plugins etc.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 16:51:06 -07:00
Solomon Hykes bf51f36d8f Fix Go formatting in beam and dockerscript
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 16:16:29 -07:00
Solomon Hykes 0bf2109121 pkg/dockerscript: add MAINTAINERS file
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:24 -07:00
Solomon Hykes bc6303f15d beam/examples/beamsh: 'chdir' changes the current directory
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:24 -07:00
Solomon Hykes 6ce4d2c842 beam/examples/beamsh: 'exec' can communicate with its child via beam.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:24 -07:00
Solomon Hykes 271ba18043 beam/examples/beamsh: use beam.Router to simplify 'multiprint' and fix job passthrough
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 0d08d36bf5 beam: new routing functions Route.KeyEquals, Route.KeyIncludes, Route.NoKey
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 30424f4e3a beam/examples/beamsh: use beam.Router to simplify 'trace'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes d3df4b5baf beam/examples/beamsh: move builtins to a separate file for readability
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 0822d67b2d beam/examples/beamsh: simplify commands by always creating and sending stdout and stderr for them
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 63fd2ec0f7 beam/examples/beamsh: use beam.Router to simplify 'logger'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 9206b18818 beam/examples/beamsh: use beam.Router to simplify the 'stdio' command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 8f5435e80c beam: Router can route beam messages with a convenient set of rules and handlers
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:23 -07:00
Solomon Hykes 40b4f86eab beam/examples/beamsh: move example scripts to scripts/
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Alexander Larsson 1fb0bf1b3b beam: Fix double close of fds in SendUnix
Instead of calling syscall.Close() on the fds in sendUnix() we call
Close() on the *os.File in Send(). Otherwise the fd will be closed, but
the *os.File will continue to live, and when it is finalized the
fd will be closed (which by then may be reused and can be anything).

This also adds a note to Send() the the file is closed.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-22 15:50:22 -07:00
Solomon Hykes a88d8d678b beam: more unit tests
This adds testing to SendConn.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes 06df94d55b beam/examples/beamsh: add scripts to reproduce various bugs
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes d0ca66dded beam/examples/beamsh: fix 'print' to be pass-through
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes b97375fc29 beam/examples/beamsh: rename 'log' to 'logger' to avoid conflict with stdout/stderr
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes a2b88b4915 beam/examples/beamsh: 'prompt' asks the user for a value and sends it.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes ed62ca5b2f beam/examples/beamsh: commands are messages.
Commands in the pipeline should either implement or pass-through command messages.

This amounts to a proof-of-concept implementation of the "pipeline"
design of Docker plugins.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes 2f4b8b7e8d beam/examples/beamsh: cosmetic fix in Fatalf
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:22 -07:00
Solomon Hykes 4f92ffb500 beam: replace SendPair() with the simpler SendConn()
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 5833e78887 beam/examples/beamsh: miniserver.ds demo
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 70d3262161 beam: improve the API with Sender/Receiver interfaces and utilities: Copy/SendPipe/SendPair
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Alexander Larsson b0228d94be beam: Make extracted Fds CloseOnExec
Grab forklock to make sure no forks accidentally inherit the new fds
before they are made CLOEXEC There is a slight race condition between
ReadMsgUnix returns and when we grap the lock, so this is not
perfect. Unfortunately There is no way to pass MSG_CMSG_CLOEXEC to
recvmsg() nor any way to implement non-blocking i/o in go, so this is
hard to fix.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-22 15:50:21 -07:00
Solomon Hykes 207e604bad beam/examples/beamsh: add a few example dockerscripts
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 29ddf2be1e beam/examples/beamsh: simplify code by using sendWPipe utility
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 1dc449e11d beam/examples/beamsh: move code around for readability
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 3a2b31a30b beam/examples/beamsh: 'exec' adds 'fromcmd' field to its output
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 7534f7a34b beam/examples/beamsh: simple 'log' command tees streams to a local directory
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:21 -07:00
Solomon Hykes 4f5b94d369 beam/examples/beamsh: 'render' and 'beamsh -x'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 4ebe7aab91 beam/examples/beamsh: run commands in an implicit context of pre-loaded 'plugins'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes cd85af06fe beam/examples/beamsh: convenience commands 'devnull', 'echo' and 'stdio'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 6d9cdbf24f beam/examples/beamsh: 'emit' supports key=value syntax to compose arbitrary objects
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 2b81fb8424 dockerscript: '=' is not a special character
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 6e0a156d90 beam/examples/beamsh: support for background commands with '&' terminator
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 08686f1d21 beam/data: Message.Parse creates a message from shell-style 'key=value' arguments
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes ffe19414b1 dockerscript: support '#' line comments
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes e1c8dbba97 beam/examples/beamsh: scripts can be passed as filenames
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 222fc87ade beam/examples/beamsh: remote communication over beam (experimental).
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:20 -07:00
Solomon Hykes 371f6fc63d beam/examples/beamsh: 'in' chdirs to a directory. 'pass' does simple passthrough
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes 6d5c75a224 beam/examples/beamsh: 'beamsend' command serializes all messages and sends them over a network connection
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes 5ddf673851 beam/examples/beamsh: 'exec' command correctly closes stdout and stderr when the process exists
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes e512fef425 beam/examples/beamsh: don't print discarded messages in Devnull
This avoids false alarms when process exits without printing. Devnull
doesn't require synchronization.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes 34c5724b89 beam/examples/beamsh: more useful debugging
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes a5bc75d406 beam/data: expose EncodeString for convenience access to the underlying netstring primitive
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes fb1af1f0bc beam/examples/beamsh: utility function 'fileToConn'
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes 74b90c25d9 beam/examples/beamsh: 'connect' command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes dff9854305 beam/examples/beamsh: 'exec' and 'listen' commands
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:19 -07:00
Solomon Hykes 3686d50429 beam/examples/beamsh: prettier devnull
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes c9b8e0fcac beam/data: prettier Message.Pretty()
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes d7a2ae8e13 beam/examples/beamsh: prettier 'trace' command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes eca6fecb59 beam/data: convenience Message.Pretty() function
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes d4920b3fff beam/examples/beamsh: basic implementation of the pipeline design, with static handlers for now.
In the pipeline design, several beam commands can be run concurrently,
with their respective inputs and outputs connected in such a way that
beam messages flow from the first to last. This is similar to the way
a unix shell executes commands in a pipeline: instead of STDIN and
STDOUT, each beam command has a "BEAMIN" and "BEAMOUT".

Since beam allows for richer communication than plain byte streams, beam
pipelines can express more powerful computation, while retaining the
fundamental elegance and ease of use of unix-style composition.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes ec288895e5 beam/examples/beamsh: better debugging messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes ab2010cfd3 beam/examples/beamsh: simple 'exec' command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes 5689792171 beam/examples/beamsh: catch introspection calls from jobs for proper nesting
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes bcd31405cf beam: fix FD leaks in SendPipe
This fixes file descriptor leaks in the SendPipe function.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:18 -07:00
Solomon Hykes 1737063904 beam: more hooks for interactive debugging
This inserts low-level hooks for interactive step-by-step debugging.
Hooks are triggered by setting the *TEST* environment variable.

This is particularly useful for tracking down file descriptor leaks,
double-closing, or other issues which are difficult to debug with
the usual toolbox.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 6072dec9e7 beam/examples/beamsh: first try at nested execution
The "wiring" is broken because engine does not keep a reference for handling introspection calls.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 8697490740 beam/examples/beamsh: fix a bug in the log command
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 488fe61354 beam/data: convenience Message.Get
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 460c98d92d beam/examples/beamsh: use beam/data
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 5bcf2a736c beam/data: Message.Bytes() convenience method
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 99dda11d45 beam/data: fix a bug in encoding of multi-value maps
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 276fb1918d beam/data: convenience Message type for chained manipulation
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 916372c76f Beam: remove leftover debugging messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes cb66e8c136 beam/examples/beamsh: hide debug messages in examples/beamsh by default
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:17 -07:00
Solomon Hykes 97a2c0ebe6 beam/data: a simple format for sending structured data over beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 771e493457 beam/examples/beamsh: more bells and whistles for demos
* Automatically switch to interactive mode when stdin is a terminal

* Basic implementation of "responses"

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 851c1b05d0 Beam: fix bug in beamsh which 'swapped' FDs because of underlying implementation of net.FileConn
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 4481e80636 pkg/dockerscript: <!> is not a special character
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 07c03944ff Beam: don't close the attachment FD when closing superfluous FDs
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 8875cdf561 Beam: debugging hooks for easy step-by-step inspection of the FD table
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes f586dcf307 beam/examples/beamsh: use 'log' command to pass stdout
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes d00a6b7648 beam/examples/beamsh: basic execution of commands, with in-process beam and dummy handlers
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes f0933a91b0 pkg/dockerscript: remove debug messages
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:16 -07:00
Solomon Hykes 5c14c3ada5 pkg/dockerscript: '.' is not a special character
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes f94a18677a Beam: Send: pass the underlying error unchanged to allow io.EOF detection
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes 11f2531da6 pkg/dockerscript: expose a simple, clean API with a single Parse method
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes 7f00a3b665 beam/examples/beamsh: correctly parse nested commands
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes fd890136a9 dockerscript: patch text/scanner to use a shell-like syntax instead of the default go-like syntax
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes cd8ddacdc7 pkg/dockerscript: a simple shell-like syntax to express docker operations
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes be470f2497 Beam: beamsh is a mini-shell which runs processes and communicates with them over beam
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes 0e42c7d889 Beam: basic test harness for the unix socket implementation.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes 59853c188d Beam: USocketPair returns a *net.UnixConn socket pair for convenience.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes c401c43cae Beam: fix file descriptor leaks
* Close all file descriptors successfully sent as attachment
* Close duplicate file descriptors created by net.FileCon and net.UnixConn.File

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:15 -07:00
Solomon Hykes b637e5f04a Beam: change the prototype of SendPipe() to return a *net.UnixSocket
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:14 -07:00
Solomon Hykes 188c2ef806 Beam: allow sending messages without attachments.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:14 -07:00
Solomon Hykes 3960da04c8 Beam: convenience functions Listen and Connect
These convenience functions expose a familiar face to the unknown and bizarre world of beam networking.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:14 -07:00
Solomon Hykes 5957e6b385 Beam: a simple stream-oriented communication protocol for distributed systems.
This patch includes a stripped down implementation with a bare minimum
unix socket transport. It relies on fd passing for stream multiplexing.

The purpose of this first patch is to allow implementation of dynamic
linking, which will allow advanced service discovery.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-22 15:50:14 -07:00
Tianon Gravi f763075c74 Update contributed man page file names and compilation script for the eventual possibility of non-man1 man pages (hopefully a Dockerfile.5.md, for example)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-22 06:43:08 -06:00
Tianon Gravi 2c4cebe916 Move "possible config locations" list to the top of check-config.sh
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-22 06:26:44 -06:00
Alexander Larsson cf997aa905 container: Remove Ghost state
container.Register() checks both IsRunning() and IsGhost(), but at
this point IsGhost() is always true if IsRunning() is true. For a
newly created container both are false, and for a restored-from-disk
container Daemon.load() sets Ghost to true if IsRunning is true. So we
just drop the IsGhost check.

This was the last call to IsGhost, so we remove It and all other
traces of the ghost state.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-22 09:49:53 +02:00
Sven Dowideit ba11de9efa Merge pull request #5205 from ipbabble/manpages
Completed the manual paged in Markdown. rm old man pages.
2014-04-22 14:48:53 +10:00
Guillaume J. Charmes e630d9ea24 Merge pull request #5331 from shykes/cleanup-maintainers
Clean up MAINTAINERS files
2014-04-21 18:18:39 -07:00
Solomon Hykes 19e6614eeb Clean up MAINTAINERS files
* Remove out of date "vacation mode"
* Fix my email address
* Remove infrastructure maintainers to reflect reality (core maintainers
are currently maintaining their own infrastructure).

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-21 18:17:13 -07:00
Solomon Hykes 7b1337a17f Merge pull request #5334 from shykes/freeze-server
Freeze server/server.go for deprecation
2014-04-21 18:16:40 -07:00
Solomon Hykes 8bcbc9fe99 Freeze server/server.go for deprecation
* Add notice in server/server.go explaining not to add stuff there, and
what to do instead.

* Make myself a sole maintainer of server/ to avoid concurrent edits
while refactoring.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-21 17:51:41 -07:00
O.S. Tezer e828d91197 Merge pull request #5323 from Lance0312/docs-missing-blank-lines
Merged.
2014-04-22 02:55:44 +03:00
Guillaume J. Charmes 7816712457 Merge pull request #5328 from crosbymichael/refactor-cgroups
Refactor cgroups into subsystems and support metrics
2014-04-21 14:06:17 -07:00
William Henry ac8c705c95 Changed Image to image.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/README.md
2014-04-21 14:37:08 -06:00
William Henry 73257a72ea Further edtis based on comments.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/README.md
	modified:   contrib/man/md/docker-build.md
	modified:   contrib/man/md/docker-cp.md
	modified:   contrib/man/md/docker-logs.md
	modified:   contrib/man/md/docker-push.md
2014-04-21 14:28:25 -06:00
unclejack c0d5eac120 Merge pull request #5223 from crosbymichael/load-profile
Use apparmor parser directly
2014-04-21 21:50:59 +03:00
William Henry bbde4298a5 Edits based on Sven's 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.md
	modified:   contrib/man/md/docker-commit.md
2014-04-21 11:55:06 -06:00
William Henry 7922e67870 Fixed a sentence for ostezer.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

	modified:   contrib/man/md/README.md
2014-04-21 10:42:46 -07:00
William Henry 95c311c8b4 Made some edits and removed the alternative, manual generation instructions.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

 Changes to be committed:
	modified:   contrib/man/md/README.md
2014-04-21 10:42:46 -07:00
William Henry 1b2b783b52 Edits based on ostezer's feedback.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)
2014-04-21 10:42:46 -07:00
Tianon Gravi e55ed741c2 Update hack/make/ubuntu to use the new markdown-based manpages
This also removes all the old man pages, .gitignores their directory, and updates the md2man-all.sh script to be easier to read and more friendly to being called within hack/make/ubuntu.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-21 10:42:46 -07:00
William Henry 67a73917c1 Added a tag to FROM fedora (fedora:20)
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)
2014-04-21 10:42:46 -07:00
William Henry 0a0dd11632 Created all manual pages in Markdown. Container for conversion.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

All Docker commands have a Markdown page.
Dockerfile used to build a Fedora based pandoc container.
md2man-all.sh is used inside the container.
README.sh includes an explaination on how to build the fedora/pandoc
          image and how to run the container directly.

 Changes to be committed:
	new file:   contrib/man/md/Dockerfile
	new file:   contrib/man/md/README.md
	new file:   contrib/man/md/docker-attach.md
	new file:   contrib/man/md/docker-build.md
	new file:   contrib/man/md/docker-commit.md
	new file:   contrib/man/md/docker-cp.md
	new file:   contrib/man/md/docker-diff.md
	new file:   contrib/man/md/docker-events.md
	new file:   contrib/man/md/docker-export.md
	new file:   contrib/man/md/docker-history.md
	new file:   contrib/man/md/docker-images.md
	new file:   contrib/man/md/docker-import.md
	new file:   contrib/man/md/docker-info.md
	new file:   contrib/man/md/docker-inspect.md
	new file:   contrib/man/md/docker-kill.md
	new file:   contrib/man/md/docker-load.md
	new file:   contrib/man/md/docker-login.md
	new file:   contrib/man/md/docker-logs.md
	new file:   contrib/man/md/docker-port.md
	new file:   contrib/man/md/docker-ps.md
	new file:   contrib/man/md/docker-pull.md
	new file:   contrib/man/md/docker-push.md
	new file:   contrib/man/md/docker-restart.md
	new file:   contrib/man/md/docker-rm.md
	new file:   contrib/man/md/docker-rmi.md
	new file:   contrib/man/md/docker-run.md
	new file:   contrib/man/md/docker-save.md
	new file:   contrib/man/md/docker-search.md
	new file:   contrib/man/md/docker-start.md
	new file:   contrib/man/md/docker-stop.md
	new file:   contrib/man/md/docker-tag.md
	new file:   contrib/man/md/docker-top.md
	new file:   contrib/man/md/docker-wait.md
	new file:   contrib/man/md/docker.md
	new file:   contrib/man/md/md2man-all.sh
2014-04-21 10:42:46 -07:00
Guillaume J. Charmes 3c50cb44d1 Merge pull request #5232 from kzys/freebsd-graph
Fix graph and pkg/graphdb on FreeBSD
2014-04-21 10:39:50 -07:00
Guillaume J. Charmes 813cebc64f Merge branch 'master' into load-profile
Conflicts:
	daemon/execdriver/native/create.go
	daemon/execdriver/native/driver.go

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-21 10:32:13 -07:00
Guillaume J. Charmes ac814ee3c7 Make sure @proc is defined
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-21 10:28:04 -07:00
Michael Crosby 004cf556e8 Use cgo to get systems clock ticks for metrics
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-21 10:26:22 -07:00
O.S. Tezer d4ca165827 Merge pull request #5321 from SvenDowideit/osx-install-mkdir-local
Merged.
2014-04-21 19:12:36 +03:00
Michael Crosby f59be989dc Refactor stat parsing to use only 8 fields
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 20:45:08 -07:00
Michael Crosby 9cd6a6d614 Merge pull request #24 from ehazlett/cgroups-stats
more work on cpu stats
2014-04-20 21:11:11 -07:00
Evan Hazlett 2f24b5a9dc work on cpu stats
Docker-DCO-1.1-Signed-off-by: Evan Hazlett <ejhazlett@gmail.com> (github: ehazlett)
2014-04-21 00:07:05 -04:00
Michael Crosby bce49dff0d Add freezer stats
This one is a problem because the most useful stat is a string and not a
float like verything else.  We may have to change the return type
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 18:35:33 -07:00
Michael Crosby 3bfe13de2c Reuse cpuacct stats for cpu subsystem
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 18:20:44 -07:00
Michael Crosby 37248039e1 Fix parsing of blkio files
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 18:18:17 -07:00
Michael Crosby 7f12260fd1 Add external function to get cgroup stats
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 17:36:20 -07:00
Michael Crosby 9b65f16355 Refactor stats and add them to all subsystems
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 12:02:39 -07:00
Michael Crosby 86e34ce59f Squashed commit of the following:
commit 75af1649b063abbc5d662fd2f8bc4ff62c927687
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 01:32:42 2014 -0400

    more refactor

commit 43b36d0f15d634497127bcb17dacaa70ae92e903
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 01:11:49 2014 -0400

    refactored cgroup param parsing to util func

commit e3738b0168a075bd92ec828879b0e46bdbbe3845
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:57:19 2014 -0400

    dat error checking

commit 57872bcc59403ecd308cfe97c78f73d6ca58d165
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:43:25 2014 -0400

    proper use of fmt.Errorf

commit 43dad6acc0cb21aac2b04ce074699879898ee820
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:36:45 2014 -0400

    proper placement of defer

commit b7f20b934b2bc92cd39397dbc608b77bff28493c
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:34:39 2014 -0400

    defers, error checking, panic avoidance

commit 7a9a6ff267f8806dfe6676486f73fe89b72968fb
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:22:00 2014 -0400

    data param to use container info instead of host

commit 0e0cf7309be1644687160d6519db792b23cd26e9
Author: Evan Hazlett <ejhazlett@gmail.com>
Date:   Sun Apr 20 00:11:29 2014 -0400

    added stats for cpuacct, memory, and blkio

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-20 11:34:28 -07:00
Lance Chen b87cb76976 Add missing blank lines in between list items
Lists with paragraphs as items need blank lines in between
items to generate correct layout.

Docker-DCO-1.1-Signed-off-by: Lance Chen <cyen0312@gmail.com> (github: Lance0312)
2014-04-21 01:32:00 +08:00
Sven Dowideit b26821e5c0 on a fresh OSX, /usr/local/bin doesn't exist
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-20 22:56:22 +10:00
Jack Danger Canty 611a1d711b typo fix: 'methid' -> 'method' 2014-04-19 23:25:48 -07:00
Tianon Gravi 231f53fd9b Merge pull request #5213 from tianon/missing-ps-requirement
Add missing "ps" requirement to PACKAGERS.md
2014-04-19 21:24:30 -06:00
Tianon Gravi cb2ce9089c Merge pull request #5313 from Lance0312/arch-fd-link
Fix borken /dev/fd in mkimage-arch.sh
2014-04-19 21:23:18 -06:00
Sven Dowideit f10bb364be Merge pull request #5312 from ostezer/docs-illusion-confusion
Urgent fix for crazy docs error on volumes.
2014-04-20 12:02:47 +10:00
Tianon Gravi f2f33d7096 Merge pull request #5249 from tianon/make-validate
Add "validate" Makefile target
2014-04-19 11:35:14 -06:00
O.S.Tezer 97daf9864d Urgent fix for crazy docs error on volumes.
Elaborate on the volumes example to prevent confusion.

Update: Amend the example so it is executable by the reader.
This includes fixing the erring "/var/logs" statement with "/var/log".

Update: Fix sentence structuring to better suit the 80chrs. limit.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-19 19:35:00 +03:00
Sven Dowideit 1c75602890 Merge pull request #5309 from ostezer/docs-fix-apostrophe
Introducing spīritus lēnis to fix code highlighting issues due to apostrophe.
2014-04-19 20:39:27 +10:00
Sven Dowideit c7f5799120 Merge pull request #5311 from ostezer/docs-fix-footer-links
Fix footer links. They are pointing to the wrong direzione.
2014-04-19 20:38:44 +10:00
Lance Chen e6b794e542 Fix broken /dev/fd in mkimage-arch.sh
Exactly the same problem as dotcloud/docker#2356

Docker-DCO-1.1-Signed-off-by: Lance Chen <cyen0312@gmail.com> (github: Lance0312)
2014-04-19 16:04:35 +08:00
Michael Crosby 7fdeda8717 Add remove method to subsystems
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 22:17:31 -07:00
Michael Crosby e92f2fd395 Break down groups into subsystems
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 22:10:30 -07:00
Michael Crosby 06db0604e5 Move raw cgroups into fs package (filesystem)
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 21:34:26 -07:00
Michael Crosby ec43ec50b4 Move systemd code into pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 21:30:08 -07:00
Michael Crosby 42fb2973c6 Refactor cgroups file locations
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 21:14:58 -07:00
O.S.Tezer a96106b5f1 Fix footer links. They are pointing to the wrong direzione.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-19 04:13:52 +03:00
Solomon Hykes 4c720d4de7 Merge pull request #4166 from shykes/engine-logging
Engine: optional Logging field to disable custom logging in engine.
2014-04-18 18:05:00 -07:00
O.S.Tezer 2d6324e06a Introducing spīritus lēnis to fix code highlighting issues due to apostrophe.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-19 03:35:45 +03:00
Sven Dowideit 87014c0328 Merge pull request #5307 from ostezer/docs-amend-notes-warnings
Mark notes and warnings, fix broken link renderings within.
2014-04-19 08:48:55 +10:00
O.S.Tezer 7935850005 Mark notes and warnings, fix broken link renderings within.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-18 23:31:38 +03:00
Victor Vieux 5b6b91aa2c Merge pull request #5264 from unclejack/change_inode_map
change inode map to struct from bool
2014-04-18 11:48:23 -07:00
unclejack 2931979a5d Merge pull request #5304 from vieux/convert_rm_tests
convert so rm tests to integration-cli
2014-04-18 21:11:18 +03:00
unclejack c25704e31b Merge pull request #5296 from crosbymichael/move-integration-tests
Move integration tests
2014-04-18 21:01:33 +03:00
Victor Vieux fcbc717f9a convert so rm tests to integration-cli
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-18 17:40:12 +00:00
unclejack c2df189ea5 Merge pull request #5236 from crosbymichael/remove-ghost-networking
Remove ghost networking
2014-04-18 20:38:12 +03:00
shin- 720f344704 Added support for multiple endpoints in X-Docker-Endpoints header
Docker-DCO-1.1-Signed-off-by: Joffrey F <joffrey@docker.com> (github: shin-)
2014-04-18 17:42:54 +02:00
O.S. Tezer 3eea3e0714 Merge pull request #5298 from SvenDowideit/remove-auto-markdown-conversion
Merged.
2014-04-18 14:13:36 +03:00
Sven Dowideit d4a00c7494 the markdown docs are now master, but I may do a manual conversion a few more times when older PR's are merged
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-18 16:34:53 +10:00
Michael Crosby 58e011595e Remove worthless iptables test
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 03:22:53 +00:00
Michael Crosby 296fcf331f Port privileged tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 03:20:17 +00:00
Michael Crosby caad45d0ed Port networking tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 03:12:27 +00:00
Michael Crosby 47510bd6eb Port environment test
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 02:53:08 +00:00
Michael Crosby e2ed4b9077 Port user tests and concurrent tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 02:47:39 +00:00
James Turnbull 6df19aa78e Merge pull request #5275 from ostezer/docs-add-back-ga-code
Add back the GA code block.
2014-04-17 22:44:48 -04:00
Sven Dowideit a0cfcbf648 Merge pull request #5274 from ostezer/docs-add-edit-on-github-link
Amendments providing the "Edit on GitHub" link for docs on master.
2014-04-18 12:43:24 +10:00
Sven Dowideit 81d9d92436 Merge pull request #5265 from ostezer/docs-fix-mobile-menu-click
Fix & improvements for mobile (& desktop) menu & submenu behaviour & issues.
2014-04-18 12:42:35 +10:00
James Turnbull ac697e5f52 Merge pull request #5257 from ostezer/docs-fix-toc-click
Fix for TOC "click/expand" & "scroll position" problem on mobile.
2014-04-17 22:42:15 -04:00
Michael Crosby 03993eb534 Port volumes and exit code tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 02:34:10 +00:00
Michael Crosby 6beb858fb0 Update commit test in cli
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 02:24:19 +00:00
Michael Crosby 72f49e554f Port multiple attach test to cli tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 02:14:00 +00:00
Michael Crosby 76a19bb3a9 Add test verify container ID
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-18 01:58:20 +00:00
Sven Dowideit b84de10b85 Merge pull request #5292 from ostezer/docs-fix-mkdocs-yaaaayml-file
Make things awesomer by amending mkdocs.yml
2014-04-18 09:57:38 +10:00
O.S.Tezer f3bf61fad4 Make things awesomer by amending mkdocs.yml
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-18 02:51:04 +03:00
Michael Crosby eceeebc22d Remove IsGhost checks around networking
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-17 23:49:59 +00:00
Sven Dowideit 6934f0fa9e Merge pull request #5269 from ostezer/docs-improve-index-docs
Improve (&restructure) Docker Index docs on the Docker docs.
2014-04-18 09:25:54 +10:00
Sven Dowideit fb2110b465 Merge pull request #5287 from jamtur01/tickets/5283
Fixed #5283 - literal leftover from cutover
2014-04-18 09:04:16 +10:00
Sven Dowideit bb02624145 Merge pull request #5284 from jamtur01/tickets/5282
Fixed #5282 - deprecated -name syntax
2014-04-18 09:03:55 +10:00
James Turnbull 2f3cb370df Fixed #5283 - literal leftover from cutover
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-17 18:58:02 -04:00
O.S. Tezer ad8db1aa22 Merge pull request #5261 from ostezer/fix-inline-links
Fix for broken in-document links which got scrambled during conversion.
2014-04-18 01:49:18 +03:00
Sven Dowideit f34383ac7e Merge pull request #5260 from ostezer/docs-remove-manual-tocs
Remove manually written TOCs from archived docs.
2014-04-18 08:43:27 +10:00
James Turnbull a75758fcf6 Fixed #5282 - deprecated -name syntax
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-17 18:43:06 -04:00
O.S.Tezer baa4f39551 Add back the GA code block.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-18 01:42:23 +03:00
Victor Vieux 58595475ea Merge pull request #5273 from alexlarsson/rename-runtime-to-daemon
Rename runtime/* to daemon/*
2014-04-17 14:56:43 -07:00
O.S.Tezer 05d7271f91 Amendments providing the "Edit on GitHub" link for docs on master.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-18 00:53:39 +03:00
Alexander Larsson 359b7df5d2 Rename runtime/* to daemon/*
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-17 14:43:01 -07:00
O.S.Tezer cb6bcfd6bc Improve (&restructure) Docker Index docs on the Docker docs.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-17 23:13:59 +03:00
O.S.Tezer 7f62f470f3 Fix & improvements for mobile (& desktop) menu & submenu behaviour & issues.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-17 20:35:08 +03:00
unclejack d072f316e3 change inode map to struct from bool
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-17 20:08:14 +03:00
O.S.Tezer 1ff66d27b5 Fix for broken in-document links which got scrambled during conversion.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-17 18:09:08 +03:00
O.S.Tezer 24a42b1370 Remove manually written TOCs from archived docs.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-17 17:47:34 +03:00
O.S.Tezer 205e85da32 Fix for TOC "click/expand" & "scroll position" problem on mobile.
Fixes:

 - Click/expand
 - Scroll pos.
 - TOC table scroll-down arrow.
 - TOC title scrolls to top.

Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-17 15:48:03 +03:00
Sven Dowideit 57cbe8b106 Merge pull request #5230 from huslage/master
Replacing ASCII art image with real diagram
2014-04-17 12:47:48 +10:00
Michael Crosby 8e67197267 Merge pull request #5248 from unclejack/more_info_testtop
provide more information when TestTop tests fail
2014-04-16 18:54:04 -07:00
Sven Dowideit 65fb2e77eb simplify the docs branch process for now
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-17 11:11:32 +10:00
Tianon Gravi 7de1557b2e Add "validate" Makefile target
This was supposed to be part of my previous PR, but somehow got missed.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-16 18:56:02 -06:00
unclejack 3ac90aeed5 provide more information when TestTop tests fail
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-17 03:39:15 +03:00
Victor Vieux 925dfdb18a Merge pull request #5246 from crosbymichael/fix-mount
Fix unmount when host volume is removed
2014-04-16 17:28:37 -07:00
Victor Vieux ef114930cd Merge pull request #5215 from danmcp/fix_typos
Fixing typos
2014-04-16 16:44:16 -07:00
unclejack 2d6f537bb3 Merge pull request #5234 from crosbymichael/refactor-container-start
Refactor container start
2014-04-17 02:20:35 +03:00
unclejack 66480d67fb Merge pull request #5243 from creack/hairpin_nat_test
Add integration test for hairpin nat
2014-04-17 01:44:56 +03:00
O.S. Tezer b92c86764a Merge pull request #5245 from SvenDowideit/more-working-with
this topic nolonger crashes the build
2014-04-17 01:44:50 +03:00
Sven Dowideit 4ba7b28006 this topic nolonger crashes the build
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-17 08:43:07 +10:00
Sven Dowideit f85d03327d Merge pull request #5233 from ostezer/docs-fix-scroll-header-margin
Fix headers staying under the menu when clicked-to-scroll.
2014-04-17 08:40:55 +10:00
Sven Dowideit 2f3cccfcbd Merge pull request #5231 from ostezer/fix-breadcrumbs
Amend breadcrumbs to link to the section indexes, i.e., home/:section/
2014-04-17 08:40:40 +10:00
Kato Kazuyoshi 92ea101bc4 SQLite is also available in FreeBSD
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-17 07:19:30 +09:00
Guillaume J. Charmes 1775ed8c75 Add integration test for hairpin nat
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-16 14:50:11 -07:00
O.S.Tezer 882862b095 Fix headers staying under the menu when clicked-to-scroll.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-16 19:38:08 +03:00
Kato Kazuyoshi e1e512e2da This permission should be interpreted as octal, not decimal
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-17 00:48:27 +09:00
Aaron Huslage 75d97a4d2f Replacing ASCII art image with real diagram
Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-04-16 11:24:07 -04:00
O.S.Tezer b74fa75872 Amend breadcrumbs to link to the section indexes, i.e., home/section/
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-16 18:20:29 +03:00
O.S. Tezer 24c4c3e0e9 Merge pull request #5227 from SvenDowideit/fix-conversion-urls-securityblog
rst->md conversion fix
2014-04-16 13:11:29 +03:00
Sven Dowideit ce7d251d52 rst->md conversion fix
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-16 14:43:52 +10:00
Solomon Hykes 9b6c40cf69 Merge pull request #5204 from ostezer/new-maintainer
Adding myself to the MAINTAINERS
2014-04-15 21:19:39 -07:00
Tianon Gravi 2e78ab91ec Add missing "ps" requirement to PACKAGERS.md
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-15 21:55:48 -06:00
Sven Dowideit 8e35bb256d Merge pull request #5224 from dhrp/tp-titles-colors
Changed heading colors and some alignments (no longer center and justification in left column)
2014-04-16 13:07:52 +10:00
Thatcher Peskens 4d3e448a33 Changed heading colors and some alignments (no longer center and justification in left column)
Docker-DCO-1.1-Signed-off-by: Thatcher Peskens <thatcher@docker.com> (github: dhrp)
2014-04-15 19:15:13 -07:00
Sven Dowideit b9f66049fa Merge pull request #5219 from dotcloud/master-doc-markdown
now, with shiney markdown
2014-04-16 11:05:29 +10:00
Sven Dowideit ac999a9cb2 now, with shiney markdown
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-16 11:04:14 +10:00
Sven Dowideit a777ebcee6 move the documentation to markdown
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-04-16 11:04:01 +10:00
Sven Dowideit ede9ea37c3 Merge pull request #5206 from SvenDowideit/stage-markdown
move the documentation to markdown
2014-04-16 10:08:57 +10:00
Sven Dowideit 936a03bfdd move the documentation to markdown
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: )
2014-04-16 00:02:10 +00:00
Dan McPherson dceea17805 Fixing typos
Docker-DCO-1.1-Signed-off-by: Dan McPherson <dmcphers@redhat.com> (github: danmcp)
2014-04-15 18:06:48 -04:00
O.S.Tezer 32d8b5da50 Adding myself to the MAINTAINERS file.
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)
2014-04-16 00:33:14 +03:00
unclejack 80f6b01132 Merge pull request #5211 from crosbymichael/update-cgroup-defaults
Ignore not exist errors for joining default subsystems
2014-04-15 22:55:26 +03:00
Tianon Gravi 994b7eaeb7 Merge pull request #5201 from tianon/build-busybox
Fetch the "busybox" image source so we can build locally instead of pulling during the integration tests
2014-04-15 09:47:05 -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
Tianon Gravi de167a7514 Merge pull request #5181 from uggedal/mkimage-alpine
contrib: mkimage script for alpine linux
2014-04-15 08:09:42 -06:00
unclejack 8b54e57fa8 Merge pull request #5202 from vieux/allow_dot_repo
Allow dot in repo name
2014-04-15 13:58:33 +03:00
Eivind Uggedal 6a2bdc6eb7 contrib: mkimage script for alpine linux
Docker-DCO-1.1-Signed-off-by: Eivind Uggedal <eivind@uggedal.com> (github: uggedal)
2014-04-15 07:59:42 +00:00
Victor Vieux d61fce9af7 allow dot in repo name
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-14 23:15:38 +00: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
Tianon Gravi 7bb72fa080 Fetch the "busybox" image source so we can build locally instead of pulling during the integration tests
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-14 13:35:54 -06:00
Guillaume J. Charmes e5ad715e59 Merge pull request #5158 from vieux/refactor_build_only_configFile
refactor build job to know only configFile
2014-04-14 10:59:48 -07:00
Guillaume J. Charmes 19ffc5e92f Merge pull request #5075 from tianon/update-check-config
Update check-config.sh with more kernel configs and more reliable cgroup hierarchy/subsystem check
2014-04-14 10:58:00 -07:00
Victor Vieux 5fc1b4d2cd Merge pull request #5132 from crosbymichael/fix-cgroup-hiar
Setup cgroups for supported subsystems
2014-04-14 10:56:15 -07:00
Guillaume J. Charmes f98ed28c1d Merge pull request #4878 from kzys/freebsd-utimes
Support FreeBSD on pkg/system/utimes_*.go
2014-04-14 10:39:25 -07:00
Michael Crosby 413190e159 Merge pull request #5172 from pnasrat/5166-large-image-graph-restore
Enable construction of TruncIndex from id array.
2014-04-14 10:31:16 -07:00
Victor Vieux e9c3e39743 rename configFile to auth in the job
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-14 17:15:22 +00:00
unclejack 0037dee02c Merge pull request #5160 from kzys/fs-symlink
Fix utils.FollowSymlinkInScope's infinite loops bug
2014-04-14 20:12:39 +03:00
O.S. Tezer b255d96694 Merge pull request #4828 from almoehi/patch-1
Added reactive-docker to list of remote API clients
2014-04-14 19:06:59 +03:00
Michael Crosby 39103e72a3 Fix unmount when host volume is removed
Fixes #5244
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 12:43:01 +00:00
Michael Crosby 9bd7d09871 Remove ArgsAsString because its a util function
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 07:08:54 +00:00
Michael Crosby 35a88f2c29 Fix resolvconf logic
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 06:58:04 +00:00
Michael Crosby 71b241cbfe Remove container.When method
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 06:54:40 +00:00
Michael Crosby c99ba05c84 Refactor container start to make it more manageable
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 06:46:34 +00:00
Michael Crosby f00ca72baa Move network settings into separate file
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 06:15:31 +00:00
Michael Crosby 3061a6a2ab Generate imports based on what is avaliable
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 05:22:45 +00:00
Paul Nasrat 84a76f2796 Add benchmark tests for TruncIndex.
Compare add vs new.

Some historical data in PR #5172.

Docker-DCO-1.1-Signed-off-by: Paul Nasrat <pnasrat@gmail.com> (github: pnasrat)
2014-04-13 22:36:15 -04:00
Michael Crosby 184728e7bc Ignore not exist errors for joining default subsystems
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 00:07:48 +00:00
Michael Crosby 6c26a87901 Ignore is not exist error
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-14 00:03:35 +00:00
Michael Crosby 052cc5a637 Move apparmor to top level pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-13 23:33:25 +00:00
Michael Crosby 5f4bc4f916 Use apparmor_parser directly
The current load script does alot of things.  If it does not find the
parser loaded on the system it will just exit 0 and not load the
profile.  We think it should fail loudly if it cannot load the profile
and apparmor is enabled on the system.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-13 23:31:10 +00:00
Tianon Gravi 2d20c92d29 Merge pull request #5176 from unclejack/check_before_pulling
cli integ: don't fetch busybox if it exists
2014-04-13 09:28:30 -06:00
unclejack 449f92f11e cli integ: don't fetch busybox if it exists
Don't make calls to the registry if the image exists already.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-13 15:06:15 +03:00
O.S. Tezer 370b935b49 Merge pull request #5177 from jbbarth/docs-add-common-errors-for-test-suite
Docs: add some example log lines that indicate a lack of memory when running the test suite
2014-04-12 21:03:24 +03:00
O.S. Tezer 1f7e97e951 Merge pull request #5178 from jbbarth/docs-improve-ubuntulinux-accounting-section
Docs: improve installation/ubuntulinux memory and swap accounting section
2014-04-12 20:32:26 +03:00
Jean-Baptiste Barth 0a0e49d406 Docs: improve installation/ubuntulinux memory and swap accounting section
Docker-DCO-1.1-Signed-off-by: Jean-Baptiste Barth <jeanbaptiste.barth@gmail.com> (github: jbbarth)
2014-04-12 10:57:19 +00:00
Jean-Baptiste Barth 26845ef1ae Docs: add some example log lines that indicate a lack of memory when running the test suite
Docker-DCO-1.1-Signed-off-by: Jean-Baptiste Barth <jeanbaptiste.barth@gmail.com> (github: jbbarth)
2014-04-12 02:09:06 +00:00
Kato Kazuyoshi 0f72486346 Fix utils.FollowSymlinkInScope's infinite loop bug
fs_test.go doesn't finish if Docker's code is placed under a directory
which has symlinks between / and the directory.
For example, the below doesn't finish before the change.

  /home -> usr/home
  FollowSymlinkInScope("/home/bob/foo/bar", "/home/bob/foo")

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-12 07:37:18 +09:00
Kato Kazuyoshi e3e078ca2f Add the test to reproduce the issue even in "make test"
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-12 07:37:17 +09:00
Paul Nasrat 4f169c2db5 Enable construction of TruncIndex from id array.
Fixes #5166

Current graph.restore is essentially O(n^2 log n) due to how
suffixarray creation works.

Rather than create/append/create new this supports creation from a seed
array of ids.

Functional testing shows this eliminates the hang on Creating image
graph reported on list.

Docker-DCO-1.1-Signed-off-by: Paul Nasrat <pnasrat@gmail.com> (github: pnasrat)
2014-04-11 16:39:58 -04:00
Alexander Larsson 4ddfffcab3 Join memory and cpu cgroup in systemd too
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: crosbymichael)
2014-04-11 17:29:40 +00:00
Michael Crosby 505184d2dc Join cpuacct, freezer, perf_event, and blkio groups
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-11 17:28:27 +00:00
Michael Crosby 031fcb31d3 Setup cgroups for all subsystems
Fixes #5117
Fixes #5118
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-11 17:28:27 +00:00
James Turnbull 931f065560 Merge pull request #5164 from jsimonelis/patch-2
terms update: FQIN must include a tag
2014-04-11 06:47:28 -07:00
Justin Simonelis 69fbf8e31f terms update: FQIN must include a tag
change: A fully qualified image name must include a tag.

Recommitting changes for PR: https://github.com/dotcloud/docker/pull/5145
since SvenDowideit suggested I would need to sign my commit for it to be accepted.

Docker-DCO-1.1-Signed-off-by: Justin Simonelis <justin.p.simonelis@gmail.com> (github: jsimonelis)
2014-04-11 08:51:50 -04:00
Victor Vieux b9731bccf2 refactor build job to know only configFile
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-10 22:29:03 +00:00
Tianon Gravi 28e7e81479 Merge pull request #5072 from tianon/hack-set-e-consistently
Update bundlescripts to use "set -e" consistently
2014-04-10 13:37:36 -06:00
Tianon Gravi feae37c171 Merge pull request #5071 from tianon/minor-man-formatting-consistency
Fix a few minor man formatting consistency issues
2014-04-10 13:13:37 -06:00
Victor Vieux f66082a443 Merge pull request #5093 from danielnorberg/do-not-create-bridge
net: do not create -b/--bridge specified bridge
2014-04-10 11:17:02 -07:00
Victor Vieux bcc3857fa0 Merge pull request #4990 from vbatts/vbatts-server_show_info
docker daemon: show info about the server
2014-04-10 11:14:09 -07:00
Victor Vieux b8c10d8af2 Merge pull request #5143 from kzys/ns-nil
Avoid "invalid memory address or nil pointer dereference" panic
2014-04-10 11:07:35 -07:00
O.S. Tezer a521388863 Merge pull request #4821 from jimenez/3903-add_event_end_timestamp-feature
Adding timestamp end to events endpoint. Modifying api docs.
2014-04-10 20:54:53 +03:00
Victor Vieux 897bf5439d Merge pull request #5140 from unclejack/build_immediate_cleanup
delete containers during build after every step
2014-04-10 10:49:13 -07:00
Isabel Jimenez 66dd4ea4e2 Adding timestamp end to events endpoint. Modifying api docs.
Docker-DCO-1.1-Signed-off-by: Isabel Jimenez <contact@isabeljimenez.com> (github: jimenez)
2014-04-10 10:43:21 -07:00
Daniel Norberg d4746d3ea0 bridge driver: clean up error returns
Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-04-10 11:26:48 -04:00
Daniel Norberg 336199a877 net: do not create -b/--bridge specified bridge
If the bridge specified using -b/--bridge doesn't
exist, fail instead of attempting to create it.

This is consistent with the docker documentation
on -b/--bridge: "Attach containers to a pre
existing network bridge". 

It is also less surprising in an environment where
the operator expected the bridge to be properly
set up before docker starts and expects docker to
fail fast if the bridge was not up instead of
masking this error and coming up in some
potentially broken state.

With this patch, docker still creates docker0 if
needed and no bridge was explicitly specified.

Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-04-10 11:11:17 -04:00
Guillaume J. Charmes 7dd9c208fd Merge pull request #5069 from tianon/hack-make-ubuntu-man
Add contrib/man to our generated deb
2014-04-10 08:04:04 -07:00
Guillaume J. Charmes 4a88e111d0 Merge pull request #5087 from vbatts/vbatts-save_permissions
docker save: fix filemode permissions
2014-04-10 08:00:37 -07:00
Guillaume J. Charmes 042a50a8fe Merge pull request #5131 from crosbymichael/shm-mode
Change shm mode to 1777
2014-04-10 07:50:32 -07:00
Guillaume J. Charmes 5b242c95da Merge pull request #5115 from alexlarsson/fix-libcontainer-network-rhel6
Fix libcontainer network support on rhel6
2014-04-10 07:45:12 -07:00
Guillaume J. Charmes ec9190cdd2 Merge pull request #5133 from crosbymichael/revert-hairpin
Revert "Support hairpin NAT without going through docker server"
2014-04-10 07:06:35 -07:00
James Turnbull 49e87d1932 Merge pull request #5050 from SvenDowideit/add-some-words-to-cli
add some more text to the cli docs
2014-04-10 07:05:19 -07:00
James Turnbull 0bc479c48b Merge pull request #5109 from jonathanpa/master
Update mac.rst to add homebrew instructions.
2014-04-10 06:42:54 -07:00
Kato Kazuyoshi c5226d94fa Avoid "invalid memory address or nil pointer dereference" panic
libcontainer.GetNamespace returns nil on FreeBSD because
libcontainer.namespaceList is empty. In this case, Namespaces#Get should
return nil instead of being panic.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-10 22:07:29 +09:00
Sven Dowideit e625cee28d add some more text to the cli docs
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-10 12:52:46 +00:00
unclejack 7931be5cba delete containers during build after every step
This commit changes the way docker build cleans up containers.
Containers get cleaned up right away after they've been committed and
they've become an image.

When the build fails, only the last container of the failing step is
left behind.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-10 14:46:42 +03:00
Jonathan Pares 057d347eaf Update mac.rst to add homebrew instructions.
Explain how to install boot2docker and docker by using homebrew.

Docker-DCO-1.1-Signed-off-by: Jonathan Pares <jonathanpa@users.noreply.github.com> (github: jonathanpa)
2014-04-10 09:48:36 +02:00
Michael Crosby 14e1a2345d Merge pull request #5134 from tianon/fix-mtab-symlink-error
Fix spurious mtab symlink error when /etc doesn't exist yet
2014-04-09 17:54:29 -07:00
Victor Vieux 8d25eef5ef Merge pull request #5127 from crosbymichael/update-apparmor
Check for apparmor enabled on host to populate profile
2014-04-09 17:04:13 -07:00
Kato Kazuyoshi 1c90a4dd9a Support FreeBSD on pkg/system/utimes_*.go
Implement system.LUtimesNano and system.UtimesNano. The latter might be
removed in future because it's basically same as os.Chtimes. That's why
the test is mainly focusing LUtimesNano.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-10 07:34:37 +09:00
Kato Kazuyoshi 66baf56601 Unlike GNU find, FreeBSD's find needs a path before an expression
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-10 07:13:41 +09:00
Kato Kazuyoshi 18bea2495d Use LLVM Clang explicitly on FreeBSD
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-10 07:13:41 +09:00
Tianon Gravi b298960aed Update bundlescripts to use "set -e" consistently
"set -e" is already inherited here from make.sh, but explicit is always better than implicit (hence the "set -e" in the first place!)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-09 12:11:06 -06:00
Victor Vieux 7c37cae17d Merge pull request #5102 from shykes/api-cleanup-tests
Make remote API unit tests easier to read and write
2014-04-09 10:27:03 -07:00
Tianon Gravi 3d9cd1e5f1 Fix spurious mtab symlink error when /etc doesn't exist yet
symlink /proc/mounts /var/lib/docker/btrfs/subvolumes/1763d6602b8b871f0a79754f1cb0a31b3928bb95de5232b1b8c15c60fa1017f6-init/etc/mtab: no such file or directory

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-09 11:13:54 -06:00
James Turnbull 407b11c26b Merge pull request #5104 from crosbymichael/update-dns-vf-docs
Update dns and volumes-from docs
2014-04-09 06:55:52 -07:00
Alexander Larsson 59c1b2880b Fix libcontainer network support on rhel6
It seems that netlink in older kernels, including RHEL6, does not
support RTM_SETLINK with IFLA_MASTER. It just silently ignores it, reporting
no error, causing netlink.NetworkSetMaster() to not do anything yet
return no error.

We fix this by introducing and using AddToBridge() in a very similar manner
to CreateBridge(), which use the old ioctls directly.

This fixes https://github.com/dotcloud/docker/issues/4668

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-09 15:44:18 +02:00
Michael Crosby 63c303eecd Revert "Support hairpin NAT without going through docker server"
This reverts commit b39d02b611.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-09 11:55:08 +00:00
Michael Crosby 986cf931c3 Change shm mode to 1777
Fixes #5126
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-09 10:53:32 +00:00
Michael Crosby 87f0d63fb2 Check for apparmor enabled on host to populate profile
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-09 10:22:17 +00:00
Michael Crosby a43a600a2c Update dns and volumes-from docs
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-08 19:17:30 -07:00
Tianon Gravi 566d49c9ca Merge pull request #5022 from tianon/make-validate
Add "make validate" for both local and CI gofmt and DCO verification
2014-04-08 19:17:30 -06:00
Solomon Hykes 1e6f21dc9e Make remote API unit tests easier to read and write
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-08 18:14:47 -07:00
Guillaume J. Charmes b602d6ca40 Merge pull request #5101 from unclejack/merge_release_v0.10.0
Merge release v0.10.0
2014-04-08 16:09:47 -07:00
unclejack e8aa24c71a Change version to v0.10.0
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-09 02:02:19 +03:00
unclejack e128a606e3 Merge pull request #5079 from unclejack/bump_v0.10.0
Bump version to v0.10.0
2014-04-09 01:56:01 +03:00
unclejack dc9c28f51d Bump version to v0.10.0
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-09 00:49:33 +03:00
Victor Vieux 5fbc47f253 Merge pull request #5090 from crosbymichael/remove-vf
Remove volumesfrom from the config
2014-04-08 14:46:07 -07:00
Michael Crosby b4f2821e6d Make volumes-from a slice instead of string split
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-08 21:45:06 +00:00
Michael Crosby af9746412b Move volumesfrom to hostconfig
This also migrates the volumes from integration tests into the new cli
integration test framework.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-08 21:45:06 +00:00
Guillaume J. Charmes a10c17ad11 Merge pull request #5095 from crosbymichael/remove-ghost-test
Remove restart ghost test
2014-04-08 14:40:42 -07:00
Michael Crosby 9839688db3 Merge pull request #5089 from creack/replace_existing_docker_apparmor_profile
Backup current docker apparmor profile and replace it with the new one
2014-04-08 14:36:11 -07:00
Solomon Hykes b28ef0e984 Merge pull request #5096 from vieux/remove_double_warning
remove double deprecation warning
2014-04-08 14:23:11 -07:00
Victor Vieux 9260c06f7a remove double deprecation warning
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-08 20:58:19 +00:00
Michael Crosby 77a04357a1 Remove restart ghost test
We do not allow ghosts anymore and this test does not add any value
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-08 20:56:30 +00:00
Solomon Hykes 795d6b8b15 Merge pull request #5066 from crosbymichael/remove-dns-conf
Move DNS options to hostconfig
2014-04-08 13:44:26 -07:00
Michael Crosby 00e080fef6 Merge pull request #5088 from shykes/deprecate-commit-run
Early deprecation warning for 'docker commit --run'
2014-04-08 12:32:11 -07:00
Tianon Gravi c6046b40f0 Merge pull request #5091 from jamtur01/fedora_install
Add Fedora installation to install.sh
2014-04-08 13:15:00 -06:00
Solomon Hykes 168f8aba74 Early deprecation warning for 'docker commit --run'
Warn users of the planned deprecation of 'docker commit --run', and hide
it from the docs and usage message. The option continues to work.

Note that an alternative to 'commit --run' is being implemented but is
not yet available. We are printing the warning anyway because on
the basis that it never hurts to give more advance warning.

The 'commit --run' flag is a leftover from the very early days of Docker,
and has several problems:

1) It is very user unfriendly. You have to pass a literal json dict
which is poorly documented and changes regularly (see PortSpecs vs
ExposedPorts). The merge behavior is not clear and also changes
regularly. it's not possible to unset a value.

2) It overlaps with the Dockerfile syntax. There are 2 ways to set
a default command, expose a port or change an env variable. Some
things can be done in a Dockerfile but not in --run. Some things
can be done in --run but not in a Dockerfile. It would be better
to push a single syntax, allow using it both in a file and via
the command line, and make improvements in a single place.

3) It exposes data structures which should not be publicly exposed.
There are several planned improvements to Docker which require moving
around the content and schema of the various Config, Image and Container
structures. The less of those we expose in public interfaces, the easier
it is to move things around without a reverse compatibility nightmare.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-08 12:10:47 -07:00
James Turnbull a2aa902ec1 Removed extra whitespace
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-08 12:07:27 -07:00
James Turnbull fa5223dab5 Added Fedora installation method
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-04-08 12:07:16 -07:00
Tianon Gravi 2204a27df0 Merge pull request #5073 from tianon/update-release-bundles
Update RELEASE_BUNDLES to include integration tests
2014-04-08 13:05:00 -06:00
Tianon Gravi cc1328d376 Merge pull request #5076 from tianon/update-hack-make-test-integration-cli
Update test-integration-cli bundlescript for consistency with other bundlescripts and slightly more verbose logging of which commands were executed
2014-04-08 12:59:08 -06:00
Victor Vieux 29fd62f396 Merge pull request #5083 from shin-/4343-http_401_private_push_error
Added specific error message when hitting 401 over HTTP on push
2014-04-08 11:19:17 -07:00
Guillaume J. Charmes 4f828d67f0 Backup current docker apparmor profile and replace it with the new one
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-08 11:09:31 -07:00
Michael Crosby a056a9ca22 Merge pull request #5085 from tianon/more-readable-crossplatforms-list
Update DOCKER_CROSSPLATFORMS to be more readable
2014-04-08 11:08:57 -07:00
unclejack 1bcb9ce69e Merge pull request #5068 from tianon/fix-abs-volume-check
Fix edge case in bind mount absolute path detection
2014-04-08 20:03:52 +03:00
Vincent Batts 0a6d42e208 docker save: fix filemode permissions
currently the files created are not readable. This makes the files and
directories permissions more sane.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-04-08 12:39:25 -04:00
Tianon Gravi cf655ca98d Update DOCKER_CROSSPLATFORMS to be more readable
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-08 09:42:47 -06:00
shin- 8b2bcd9a4b Added specific error message when hitting 401 over HTTP on push
Docker-DCO-1.1-Signed-off-by: Joffrey F <joffrey@docker.com> (github: shin-)
2014-04-08 17:07:29 +02:00
almoehi a67f350442 Added reactive-docker to list of remote API clients
Docker-DCO-1.1-Signed-off-by: H. Rapp <webmaster@3kolor.com> (github: almoehi)
2014-04-08 11:47:15 +02:00
Tianon Gravi 4c3eb7db67 Update test-integration-cli bundlescript for consistency with other bundlescripts and slightly more verbose logging of which commands were executed
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 23:10:40 -06:00
Tianon Gravi 5737c2eb98 Update check-config.sh with more kernel configs and more reliable cgroup hierarchy/subsystem check
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 22:53:42 -06:00
Guillaume J. Charmes 8cfbc44661 Merge pull request #5049 from Supermathie/aa-fix
apparmor: docker-default: Include base abstraction
2014-04-07 21:34:01 -07:00
James Turnbull fdfd4530fc Merge pull request #5074 from SvenDowideit/simplify-builder-headings
use the docs sidebar to be the TOC means that level 2 headings are the most important
2014-04-07 21:28:02 -07:00
Sven Dowideit e6a64af966 use the docs sidebar to be the TOC means that level 2 headings are the most important
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-08 14:25:57 +10:00
Tianon Gravi 886eb85dec Update RELEASE_BUNDLES to include integration tests
Previously, running just "hack/release.sh" only ran the unit tests.  This updates that to run the unit tests, then the integration tests, then build the binaries, then run the cli integration tests (so we're literally testing the binary we're about to release, which is super freaking cool IMO <3).

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 22:22:03 -06:00
Tianon Gravi 7908725e3f Fix a few minor man formatting consistency issues
Some flags ended with a colon, some didn't.  For man pages, the prevailing normal practice is not to end the flags lines with colons.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 21:38:30 -06:00
Tianon Gravi ab248675aa Add contrib/man to our generated deb
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 21:32:17 -06:00
Tianon Gravi 603088be92 Fix edge case in bind mount absolute path detection
`filepath.Abs` does more than just `filepath.IsAbs` - namely, `filepath.Clean`, which resolves things like `.../.` or `.../../...`, and causes even an absolute path like `/some/path/../absolute` to fail (or, in my case, `/path/to/docker/.`)

Just using `filepath.IsAbs` directly is a much cheaper check, too. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-07 21:20:03 -06:00
O.S. Tezer be3a5a2e37 Merge pull request #5029 from ipbabble/manpages
Added man pages for several docker commands.
2014-04-08 05:51:20 +03:00
Guillaume J. Charmes 1d2126be6c Merge pull request #5025 from dstine/readme-fix
fixed two readme typos
2014-04-07 19:31:16 -07:00
Michael Crosby 919dbbe44d Move DNS options to hostconfig
The local resolver warning needed to be moved at daemon start because it
was only show for the first container started anyways before having a
default value set.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 19:12:22 -07:00
Dan Stine 9c4d10b9a9 fixed three more typos 2014-04-07 22:09:15 -04:00
Michael Crosby 6bf7104271 Merge pull request #5064 from crosbymichael/remount-bind-mount
Ensure that ro mounts are remounted
2014-04-07 19:04:25 -07:00
Sven Dowideit 02c5a87b40 Merge pull request #4997 from jpetazzo/apt-should-always-use-https
Use https://get.docker.io/ubuntu consistently
2014-04-08 11:24:07 +10:00
Michael Crosby b6042f252d Ensure that ro mounts are remounted
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 18:23:22 -07:00
William Henry da8231a26b Added man pages for several docker commands.
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

	new file:   contrib/man/man1/docker-attach.1
	new file:   contrib/man/man1/docker-build.1
	new file:   contrib/man/man1/docker-images.1
	new file:   contrib/man/man1/docker-info.1
	new file:   contrib/man/man1/docker-inspect.1
	new file:   contrib/man/man1/docker-rm.1
	new file:   contrib/man/man1/docker-rmi.1
	new file:   contrib/man/man1/docker-run.1
	new file:   contrib/man/man1/docker-tag.1
	new file:   contrib/man/man1/docker.1
2014-04-07 19:15:28 -06:00
Sven Dowideit 6e0d8ce8c3 Merge pull request #4715 from sebsto/patch-1
Include instruction for AMI 2014.03
2014-04-08 11:02:54 +10:00
Victor Vieux 8c3eb900de Merge pull request #5058 from crosbymichael/remove-opts
Remove -o cli flag and DriverConfig from HostConfig
2014-04-07 16:45:54 -07:00
Michael Crosby 028d44d126 Remove and unexport selinux functions
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 14:59:44 -07:00
Michael Crosby 82f37b874e Ensure that selinux is disabled by default
This also includes some portability changes so that the package can be
imported with the top level runtime.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 14:44:53 -07:00
Michael Crosby aaf018017c Add more label checks for selinux enabled
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 14:44:53 -07:00
Michael Crosby b1e98e06dc Remove selinux build tag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 14:44:52 -07:00
Michael Crosby ffebcb660f Move -o cli flag and DriverConfig from HostConfig
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 14:44:52 -07:00
Solomon Hykes ea2fba5ce0 Engine: optional Logging field to disable custom logging in engine.
* The default behavior is preserved
* This disables the use of the `TEST` environment variable in engine.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-07 21:41:25 +00:00
unclejack d8fc3eecf5 Merge pull request #5010 from shykes/cli-tests
Convert a legacy integration test to a clean v2 CLI integration test.
2014-04-08 00:34:58 +03:00
Solomon Hykes 30f22ee9e3 Convert a legacy integration test to a clean v2 CLI integration test.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-07 20:34:21 +00:00
unclejack 902f88ea15 Merge pull request #5057 from crosbymichael/refactor-runtime-create
Refactor runtime create and history
2014-04-07 23:24:46 +03:00
Michael Crosby 1277885420 Clean runtime create and make it simple
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 12:20:23 -07:00
James Turnbull 7fddec4a65 Merge pull request #4764 from SvenDowideit/use-docker-tgz
Use docker tgz file to download on OSX
2014-04-07 11:54:27 -07:00
Jérôme Petazzoni dc7fefc16b Use https://get.docker.io/ubuntu consistently
The install script (on https://get.docker.io/) installs an APT sources.list
entry referencing an HTTPS repository, and takes care of installing the
apt-transport-https package. However, the Debian/Ubuntu specific installation
script (on https://get.docker.io/ubuntu) used an HTTPS repository but without
installing that package, causing the installation to fail on some platforms.

This will use HTTPS everywhere, and updates the documentation accordingly.

Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)

Docker-DCO-1.1-Signed-off-by: Jérôme Petazzoni <jerome@docker.com> (github: jpetazzo)
2014-04-07 11:32:12 -07:00
Michael Crosby c987aa09d8 Move history to separate file
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-07 11:01:35 -07:00
Victor Vieux 2fde8dfb83 Merge pull request #5040 from crosbymichael/remove-context-from-config
Remove context from config
2014-04-07 10:48:15 -07:00
Victor Vieux 73a22fc6b3 Merge pull request #5039 from kzys/freebsd-timestamp
Don't assume the file system has sub-second precision timestamp
2014-04-07 10:28:22 -07:00
unclejack 2f292a97de Merge pull request #5038 from kzys/remove-archive-stat
Remove archive/stat_unsupported.go because it is not used
2014-04-07 19:50:31 +03:00
unclejack 1a3eb4967b Merge pull request #5051 from SvenDowideit/build-rm-help
intermediate image layers are used for more than the build
2014-04-07 18:59:41 +03:00
Sven Dowideit 87ea27e80b intermediate image layers are used for more than the build
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-07 18:37:52 +10:00
Michael Brown 726206f2aa apparmor: pull in variables from tunables/global
The variables that were defined at the top of the apparmor profile are best
pulled in via the <tunables/global> include.

Docker-DCO-1.1-Signed-off-by: Michael Brown <michael.brown@discourse.org> (github: Supermathie)
2014-04-07 03:04:27 -04:00
Michael Brown 320b3e0d21 apparmor: abstractions/base expects pid variable
Add 'pid' variable pointing to 'self' to allow parsing of profile to succeed

Docker-DCO-1.1-Signed-off-by: Michael Brown <michael.brown@discourse.org> (github: Supermathie)
2014-04-07 02:47:43 -04:00
Michael Brown e35c23311f apparmor: docker-default: Include base abstraction
Encountered problems on 14.04 relating to signals between container
processes being blocked by apparmor. The base abstraction contains
appropriate rules to allow this communication.

Docker-DCO-1.1-Signed-off-by: Michael Brown <michael.brown@discourse.org> (github: Supermathie)
2014-04-07 02:19:38 -04:00
Sven Dowideit a4b4448009 Merge pull request #4799 from tianon/no-more-inotifywait
Remove the inotifywait hack from our upstart host-integration example
2014-04-06 08:34:50 +10:00
Kato Kazuyoshi 794b5de749 Don't assume the file system has sub-second precision timestamp
For example, FreeBSD doesn't have that
(see http://lists.freebsd.org/pipermail/freebsd-fs/2012-February/013677.html).

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-05 10:30:37 +09:00
Kato Kazuyoshi da8aa712d2 Remove archive/stat_unsupported.go because it is not used
LUtimesNano and all other functions were implemented on pkg/system after
d6114c0da0.

Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-04-05 10:09:04 +09:00
Victor Vieux 36af2936af Merge pull request #5031 from crosbymichael/revert-env
Revert env changes
2014-04-04 13:19:08 -07:00
unclejack 0fb76839ad Merge pull request #5027 from unclejack/cli_integration_add_docker_options
Cli integration: add docker options & fix the wait at the end
2014-04-04 22:07:31 +03:00
Michael Crosby 07887f65de Revert "remove hack in version"
This reverts commit b2b9334f27.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-04 11:38:03 -07:00
Michael Crosby 4c6cf9e27f Use setjson hack again for version
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-04 11:37:08 -07:00
Michael Crosby 95e6fd819b Revert "engine: fix engine.Env.Encode() to stop auto-guessing types."
This reverts commit 76057addb2.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-04 11:29:56 -07:00
Victor Vieux a97305e4c0 Merge pull request #5008 from unclejack/sync_cli_integration_ops
cli integration: sync container & image deletion
2014-04-04 11:16:08 -07:00
unclejack 22152ccc47 cli integration: fix wait race
The wait at the end of cli integration script could end up failing if
the process had already exited. This was making it look like the tests
have failed.

This change fixes the problem.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-04 19:06:55 +03:00
unclejack 62b08f557d cli integration: allow driver selection via vars
This makes it possible to choose the graphdriver and the execdriver
which is going to be used for the cli integration tests.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-04 19:03:07 +03:00
Dan Stine bea71245c8 fixed two readme typos 2014-04-04 08:12:17 -04:00
Tianon Gravi 919fe7a3a1 Remove the old Travis-specific files that are no longer necessary
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-04 00:46:47 -06:00
Tianon Gravi 81370b5b0f Add new validate-dco and validate-gofmt bundlescripts for DCO and gofmt validation
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-04 00:41:33 -06:00
Sven Dowideit 031e288075 Merge pull request #4996 from rajatpandit/patch-2
Update nodejs_web_app.rst
2014-04-04 14:41:32 +10:00
Sven Dowideit b811ac523a Merge pull request #4995 from rajatpandit/patch-1
Update nodejs_web_app.rst
2014-04-04 14:40:55 +10:00
unclejack 65eeb0fce0 Merge pull request #4968 from tianon/enhanced-check-config
Add more color and cgroupfs hierarchy verification to check-config.sh
2014-04-04 04:49:05 +03:00
unclejack a255849129 Merge pull request #5002 from crosbymichael/rhatdan-selinux
Improve selinux label handling
2014-04-04 04:43:16 +03:00
unclejack e09274476f cli integration: sync container & image deletion
This makes container and image removal in the tests run synchronously.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-04 03:22:32 +03:00
Michael Crosby 09aa28eca0 Merge pull request #5005 from shykes/deprecate-insert
Deprecate 'docker insert'
2014-04-03 17:16:25 -07:00
Victor Vieux 468cb80c59 Merge pull request #5006 from vieux/remove_dirty_hack
remove hack in version
2014-04-03 17:09:56 -07:00
Victor Vieux b2b9334f27 remove hack in version
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-04 00:08:51 +00:00
Victor Vieux dbd1e304f5 Merge pull request #5004 from shykes/api-unit-tests
Replace integration tests with unit tests for the remote API
2014-04-03 17:06:05 -07:00
Victor Vieux 9f68b934d3 Merge pull request #5001 from shykes/deprecate-images-viz-tree
Deprecate 'docker images --tree' and 'docker images --viz'
2014-04-03 17:05:59 -07:00
Solomon Hykes 2cb560988b api/server: convert TestGetInfo from an integration test to a unit test.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-04 00:02:44 +00:00
Solomon Hykes 76057addb2 engine: fix engine.Env.Encode() to stop auto-guessing types.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-03 23:53:42 +00:00
Solomon Hykes c8f437aee0 api/server: replace an integration test with a unit test using engine mocking.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-03 23:53:39 +00:00
Solomon Hykes 615ac8feb2 Deprecate 'docker insert'
'docker insert' is an old command which predates 'docker build'. We no
longer recommend using it, it is not actively maintained, and can be
replaced with the combination of 'docker build' and 'ADD'.

This removes the command from usage and documentation, and prints a
warning when it is called.

The command still works but it will be removed in a future version.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-03 23:52:09 +00:00
Victor Vieux a278656330 Merge pull request #4991 from ruphin/fix_name_typo
Fix typo in names-generator
2014-04-03 16:24:14 -07:00
Goffert van Gool 6cf1378601 Fix typo in names-generator
Docker-DCO-1.1-Signed-off-by: Goffert van Gool <ruphin@ruphin.net> (github: ruphin)
2014-04-04 00:57:43 +02:00
unclejack 55729ab4cb Merge pull request #5000 from shykes/skip-login-tests
Skip login tests because of external dependency to a hosted service.
2014-04-04 01:11:09 +03:00
Michael Crosby afc56e8d6d Merge pull request #4993 from crosbymichael/remove-loopback-setup
Remove loopback setup for native driver
2014-04-03 15:09:09 -07:00
Solomon Hykes 7c3b955b90 Deprecate 'docker images --tree' and 'docker images --viz'
* The commands are no longer listed or documented.
* The commands still work but print a deprecation warning.
* The commands should be removed in a future version.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-03 22:03:23 +00:00
Solomon Hykes 887eeb2b02 Skip login tests because of external dependency to a hosted service.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-04-03 21:55:33 +00:00
Guillaume J. Charmes 9e29d65aad Merge pull request #4994 from crosbymichael/remove-start-test
Remove racy test causing tests to stall
2014-04-03 14:49:35 -07:00
Rajat Pandit 32d6041cc3 Update nodejs_web_app.rst 2014-04-03 21:05:50 +01:00
Rajat Pandit 3c36f82f18 Update nodejs_web_app.rst 2014-04-03 20:54:57 +01:00
Victor Vieux 95d07b52b3 Merge pull request #4992 from crosbymichael/fix-mknod-test
Fix configuration test for MKNOD
2014-04-03 12:21:30 -07:00
Michael Crosby 5864a3ff77 Merge pull request #4980 from creack/update_signal_management
Return correct exit code upon signal + SIGQUIT now quits without cleanup
2014-04-03 11:58:19 -07:00
Kevin Wallace e21607341c Add myself to AUTHORS.
Docker-DCO-1.1-Signed-off-by: Kevin Wallace <kevin@pentabarf.net> (github: kevinwallace)
2014-04-03 18:44:13 +00:00
Kevin Wallace c94111b619 Allow non-privileged containers to create device nodes.
Such nodes could already be created by importing a tarball to a container; now
they can be created from within the container itself.

This gives non-privileged containers the mknod kernel capability, and modifies
their cgroup settings to allow creation of *any* node, not just whitelisted
ones.  Use of such nodes is still controlled by the existing cgroup whitelist.

Docker-DCO-1.1-Signed-off-by: Kevin Wallace <kevin@pentabarf.net> (github: kevinwallace)
2014-04-03 18:44:13 +00:00
Victor Vieux 5844920185 Merge pull request #4989 from alexlarsson/fix-volumes-from
Fix --volumes-from mount failure
2014-04-03 11:27:18 -07:00
Tianon Gravi fee16d4216 Update contrib/check-config.sh cgroupfs check to allow for something like '... cgroup rw,cpu' (looking at you, boot2docker)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-03 11:52:19 -06:00
Tianon Gravi 9712f8127a Update contrib/check-config.sh to use zcat and grep if zgrep isn't available
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-03 11:46:24 -06:00
Alexander Larsson bd94f84ded Fix --volumes-from mount failure
As explained in https://github.com/dotcloud/docker/issues/4979
--volumes-from fails with ENOFILE errors.

This is because the code tries to look at the "from" volume without
ensuring that it is mounted yet. We fix this by mounting the containers
before stating in it.

Also includes a regression test.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-03 19:33:20 +02:00
Guillaume J. Charmes cd910cb685 Allow force sigint and allow sigquit after sigint
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-03 10:07:42 -07:00
Vincent Batts cea43f8a2d docker daemon: show info about the server
For combing through logs, have an intro line with information about the
running instance of the docker daemon.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-04-03 10:54:54 -04:00
James Turnbull be882d989a Merge pull request #4984 from michaelneale/master
explained what authConfig actually is
2014-04-03 09:20:24 -04:00
Sven Dowideit cb824f4093 Merge pull request #4985 from drothlis/patch-1
docs: Fix typo in hello world example
2014-04-03 20:07:44 +10:00
Michael Neale 75633a0451 explained what authConfig actually is.
Docker-DCO-1.1-Signed-off-by: Michael Neale <michael.neale@gmail.com> (github: michaelneale)
2014-04-03 19:43:21 +11:00
David Röthlisberger 8c4617e0ae docs: Fix typo in hello world example 2014-04-03 09:40:28 +01:00
Michael Crosby 8b450a93b8 Remove driver wide mount label for dm
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-03 06:34:57 +00:00
Michael Crosby e2779e11db Remove runtime options from config
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-03 04:40:38 +00:00
Sven Dowideit 24e8b1b834 Merge pull request #4924 from msabramo/move_installmirrors_anchor_in_docs
Move installmirrors anchor in doc
2014-04-03 12:48:01 +10:00
Sven Dowideit e8cb65b3cc Merge pull request #4972 from unclejack/document_a_flag
docs: explain what docker run -a does
2014-04-03 10:23:39 +10:00
Victor Vieux 9687c087ab Merge pull request #4953 from rhatdan/selinux
These two patches should fix problems we see with running docker in the wild.
2014-04-02 16:36:41 -07:00
Michael Crosby 9cc7eb4ab3 Merge pull request #3971 from creack/fix_add_ownership
Change ownership to root for ADD file/directory
2014-04-02 12:22:09 -07:00
Tianon Gravi 8aa3dc681d Merge pull request #4965 from tianon/update-makefile
Update Makefile with several improvements
2014-04-02 12:03:12 -06:00
unclejack 3e68d36485 Merge pull request #4951 from alexlarsson/dm-fix-deadlock
Fix AB-BA deadlock in devicemapper backend
2014-04-02 20:58:09 +03:00
unclejack b5caa5053a Merge pull request #4779 from vieux/symlink_mtab
symlink /etc/mtab and /proc/mounts
2014-04-02 20:57:04 +03:00
Michael Crosby 94233a204f Fix lxc label handleing
This also improves the logic around formatting the labels for selinux
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-02 16:52:49 +00:00
Michael Crosby 6e7a93628b Merge branch 'selinux' of https://github.com/rhatdan/docker into rhatdan-selinux
Conflicts:
	pkg/selinux/selinux.go
	runtime/execdriver/lxc/lxc_template.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-02 16:11:35 +00:00
Dan Walsh ca4224762b Fix SELinux issue with missing Contexts in lxc execdriver
There is a bug in the SELinux patch for the lxc execdriver, that
causes lxc containers to blow up whether or not SELinux is enabled.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-04-03 09:45:40 -04:00
Dan Walsh d76ac4d429 In certain cases, setting the process label will not happen.
When the code attempts to set the ProcessLabel, it checks if SELinux Is
enabled.  We have seen a case with some of our patches where the code
is fooled by the container to think that SELinux is not enabled.  Calling
label.Init before setting up the rest of the container, tells the library that
SELinux is enabled and everything works fine.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-04-03 09:32:29 -04:00
Dan Walsh 32ad78b043 Remove hard coding of SELinux labels on systems without proper selinux policy.
If a system is configured for SELinux but does not know about docker or
containers, then we want the transitions of the policy to work.  Hard coding
the labels causes docker to break on older Fedora and RHEL systems

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-04-03 09:32:29 -04:00
unclejack 63c7941172 docs: explain what docker run -a does
This adds a bit of documentation for the `-a` flag for docker run.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-04-02 16:23:01 +03:00
Michael Crosby a9d6eef238 Remove racy test causing tests to stall
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-02 13:22:51 +00:00
Michael Crosby 18ef3cc24a Remove loopback setup for native driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-02 13:12:52 +00:00
Michael Crosby f80fd5da09 Fix configuration test for MKNOD
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-02 13:07:11 +00:00
James Turnbull 440562511e Merge pull request #4966 from SvenDowideit/add-kernel-version-info
add RHEL6 kernel version, and a 3.8 hint to the binaries doc
2014-04-02 08:56:17 -04:00
Guillaume J. Charmes 3b3f4bf052 Return correct exit code upon signal + SIGQUIT now quits without cleanup
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-02 05:56:11 -07:00
Tianon Gravi aec989bd08 Add more color and cgroupfs hierarchy verification to check-config.sh
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-02 02:44:12 -06:00
Tianon Gravi 506055d973 Merge pull request #4853 from pjz/bash_completion
Include completion scripts in ubuntu/debian package
2014-04-02 01:40:24 -06:00
Alexander Larsson 2ffef1b7eb devmapper: Avoid AB-BA deadlock
We currently drop the global lock while holding a per-device lock when
waiting for device removal, and then we re-aquire it when the sleep is done.
This is causing a AB-BA deadlock if anyone at the same time tries to do any
operation on that device like this:

thread A:             thread B
grabs global lock
grabs device lock
releases global lock
sleeps
                      grabs global lock
                      blocks on device lock
wakes up
blocks on global lock

To trigger this you can for instance do:

ID=`docker run -d fedora sleep 5`
cd /var/lib/docker/devicemapper/mnt/$ID
docker wait $ID
docker rm $ID &
docker rm $ID

The unmount will fail due to the mount being busy thus causing the
timeout and the second rm will then trigger the deadlock.

We fix this by adding a lock ordering such that the device locks
are always grabbed before the global lock. This is safe since the
device lookups now have a separate lock.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson 70826e8b3f devmapper: Add lock to protext Devices map
Currently access to the Devices map is serialized by the main
DeviceSet lock, but we need to access it outside that lock, so we
add a separate lock for this and grab that everywhere we modify
or read the map.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson e01b71cebe devmapper: Add lookupDevice() helper
This centralizes the lookup of devices so it is only done in one place.
This will be needed later when we change the locking for it.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson 74edcaf1e8 devmapper: Pass info rather than hash to setInitialized
We already have this at the caller, no need to look up again.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson 5955846774 devmapper: Pass info rather than hash to deactivateDevice()
We already have the info in most cases, no need to look this up multiple times.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson 8e39b35c7c devmapper: Pass info rather than hash to deleteDevice
All the callers already have the info, no need for an extra lookup.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Alexander Larsson e5394e35c7 devmapper: Pass info rather than hash to activateDeviceIfNeeded
There is no need to look this up again, we have it already in all callers.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-04-02 09:05:00 +02:00
Sven Dowideit 2b64453adb add RHEL6 kernel version, and a 3.8 hint to the binaries doc
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-04-02 16:52:07 +10:00
Tianon Gravi b51fe17833 Update Makefile with several improvements
Especially but not limited to:
- make BINDDIR= ... - for when you don't want a bind mount at all
- make DOCSPORT=9000 docs - for when you want a not-8000 docs port
- when we can't determine a branch name, we don't try to "docker build -t docker: ." anymore - we just "docker build -t docker ." (thus allowing Docker to assume ":latest")

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-01 22:43:38 -06:00
Victor Vieux 93bb208164 Merge pull request #4961 from creack/update_version_pkg
Update Version to not use string anymore
2014-04-01 18:37:25 -07:00
Michael Crosby b4c8232b95 Merge pull request #4964 from creack/add_api_version
Add API version to `docker version`
2014-04-01 18:36:18 -07:00
Victor Vieux d7ec39a4cf <3
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-02 01:19:26 +00:00
Guillaume J. Charmes b246fc33ae Add API version to docker version
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 17:30:19 -07:00
Guillaume J. Charmes 8ff02d58d9 Merge pull request #4963 from tianon/check-config
Add basic initial "check-config" script to contrib
2014-04-01 16:51:32 -07:00
Victor Vieux 431046e0f5 Merge pull request #4902 from shykes/wozniak_is_not_boring
Steve Wozniak is not boring.
2014-04-01 16:49:56 -07:00
unclejack ceed9382d0 Merge pull request #4931 from crosbymichael/gen-mac-addr-for-bridge
Set bridge mac addr on supported kernels
2014-04-02 02:47:56 +03:00
Tianon Gravi 9c0c4aeda4 Add basic initial "check-config" script to contrib
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-01 17:42:54 -06:00
Sven Dowideit 8cc8b1dd99 Merge pull request #4938 from jlhawn/master
No longer expose gravatar_email in docker.io api
2014-04-02 09:13:33 +10:00
unclejack 30ff3fa954 Merge pull request #4867 from crosbymichael/clean-shutdown
Cleanly shutdown docker
2014-04-02 01:48:03 +03:00
Guillaume J. Charmes 3ee37f547f Update Version to not use string anymore
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 15:46:52 -07:00
Michael Crosby 9cf89f8542 Merge pull request #4942 from vieux/cleanup_dev_libcontainer
remove setupDev from libcontainer
2014-04-01 14:28:17 -07:00
Guillaume J. Charmes 026aebdebb Change ownership to root for ADD file/directory
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 14:17:31 -07:00
Victor Vieux 79c0ca81fc Merge pull request #4958 from crosbymichael/update-port-tests
Update test to reallocate port
2014-04-01 14:15:36 -07:00
Victor Vieux dcf2b72f5b add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-01 21:07:40 +00:00
Guillaume J. Charmes 7462cc6479 Merge pull request #4949 from tjmehta/4908-fix_dynamic_port_allocation_limit
Fix dynamic port allocation limit
2014-04-01 13:49:21 -07:00
Guillaume J. Charmes b4b87413d8 Merge pull request #4833 from crosbymichael/pluginflag
Add opts flag for fine grained control over drivers
2014-04-01 13:34:08 -07:00
Michael Crosby 3178723341 Merge pull request #4956 from tianon/sig
Simplify the kill "SIG" prefix stripping code
2014-04-01 13:10:16 -07:00
Victor Vieux e175a55eb9 Merge pull request #4948 from creack/push_single_tag
Allow push of a single tag
2014-04-01 12:54:15 -07:00
Tianon Gravi 4bf70317ed Simplify the kill "SIG" prefix stripping code
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-01 13:33:46 -06:00
Michael Crosby 7ab66fa694 Merge pull request #4947 from tianon/sig
Allow "SIG" prefix on signal names in `docker kill` ("SIGKILL", etc)
2014-04-01 11:59:44 -07:00
Victor Vieux b01c3a8b6c Merge pull request #4945 from samalba/fix-checksum-layer
Fix checksum layer
2014-04-01 11:31:59 -07:00
Guillaume J. Charmes b8d660d946 Update docs. Make PULL up to date, remove deprecated falg and update PUSH
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 11:17:54 -07:00
Victor Vieux 1aa976aca9 Merge pull request #4920 from discordianfish/we-need-more-women
Improve gender equality
2014-04-01 11:15:34 -07:00
Michael Crosby 249a5ddfeb Merge pull request #4916 from creack/no_error_start_twice
Don't error when trying to start a running container
2014-04-01 10:45:31 -07:00
Dan Walsh 2224e0d65a In certain cases, setting the process label will not happen.
When the code attempts to set the ProcessLabel, it checks if SELinux Is
enabled.  We have seen a case with some of our patches where the code
is fooled by the container to think that SELinux is not enabled.  Calling
label.Init before setting up the rest of the container, tells the library that
SELinux is enabled and everything works fine.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-04-01 13:30:10 -04:00
Dan Walsh f9b8161c60 Remove hard coding of SELinux labels on systems without proper selinux policy.
If a system is configured for SELinux but does not know about docker or
containers, then we want the transitions of the policy to work.  Hard coding
the labels causes docker to break on older Fedora and RHEL systems

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-04-01 13:29:54 -04:00
Guillaume J. Charmes 7a50f03fa6 Update test to be consistent
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 10:27:10 -07:00
Guillaume J. Charmes cff5f0357e Minor cleanup
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 10:27:05 -07:00
Guillaume J. Charmes a03f83e337 Do not error when trying to start a started container
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 10:26:53 -07:00
Tianon Gravi 4cb602afa0 Allow "SIG" prefix on signal names in docker kill ("SIGKILL", etc)
This way, we can use both `docker kill -s INT some_container` and `docker kill -s SIGINT some_container` and both will do nice things for us. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-04-01 11:01:07 -06:00
Tianon Gravi 527bb5e960 Merge pull request #4904 from creack/make_dev
Add "BINDDIR" variable to facilitate having a shell with the full source tree bind-mounted
2014-04-01 10:19:56 -06:00
Guillaume J. Charmes bd24eb07b6 Add $BINDIR to allow mounting the whole sources if needed (for development)
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-04-01 09:01:27 -07:00
Michael Crosby ac9b06ae95 Update sig message
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 08:18:52 +00:00
Michael Crosby 6b7cfc9e95 Update test to reallocate port
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:27:34 +00:00
Michael Crosby 93779cc7fe Send sigterm and wait forever
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:12:50 +00:00
Michael Crosby e36d89b0f9 Ensure state is saved to disk after we kill the ghost
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:12:50 +00:00
Michael Crosby 283daced0c Don't send prctl to be consistent with other drivers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:12:50 +00:00
Michael Crosby 5bb82f6313 Ensure a reliable way to kill ghost containers on reboot
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:11:41 +00:00
Michael Crosby 5b9069bd99 Add kill for other drivers on restart
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:11:41 +00:00
Michael Crosby f067e26367 Ensure that all containers are stopped cleanly at shutdown
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:11:41 +00:00
Michael Crosby 40c6d00c97 Update imports to be consistent
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-04-01 07:07:42 +00:00
tjmehta 739d124480 make findNextPort circular, add all-ports-allocated error
Docker-DCO-1.1-Signed-off-by: Tejesh Mehta <tejesh.mehta@gmail.com> (github: tjmehta)
2014-03-31 22:21:52 -07:00
Guillaume J. Charmes e648a186d6 Allow push of a single tag
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-31 18:50:10 -07:00
Sam Alba de9fba7172 Payload checksum now match the checksum simple
Backported for backward compatibility.

Docker-DCO-1.1-Signed-off-by: Sam Alba <sam.alba@gmail.com> (github: samalba)
2014-03-31 18:31:15 -07:00
Sam Alba 3f0886c8c3 Inverted layer checksum and tarsum.
The checksum of the payload has to be computed on the Gzip'ed content.

Docker-DCO-1.1-Signed-off-by: Sam Alba <sam.alba@gmail.com> (github: samalba)
2014-03-31 17:56:25 -07:00
Victor Vieux d52d24dd80 remove setupDev from libcontainer
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-04-01 00:28:44 +00:00
Michael Crosby 7a7f59210d Ensure secound part of the key is provided
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 23:12:08 +00:00
Michael Crosby 4cdcea2047 Set bridge mac addr on supported kernels
Fixes #3200
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 22:56:23 +00:00
Josh Hawn 289377b409 No longer expose gravatar_email in docker.io api
Docker.io API has replaced the gravatar_email field with a
gravatar_url field instead.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-03-31 15:34:43 -07:00
Guillaume J. Charmes f6f059d99a Merge pull request #4929 from crosbymichael/volume-abs-path
Force abs paths for host volumes
2014-03-31 15:19:30 -07:00
Victor Vieux 07b60d626a symlink /etc/mtab and /proc/mounts
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 21:15:03 +00:00
unclejack e76113be6c Merge pull request #4925 from creack/fix_logs
Fix expending buffer in StdCopy
2014-03-31 23:15:07 +03:00
unclejack cd0a907325 Merge pull request #4930 from vieux/fix_regression_import
Fix regression import
2014-03-31 23:12:39 +03:00
Guillaume J. Charmes 5fb28eab3e Add regression test
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-31 13:12:22 -07:00
Tianon Gravi 6ed2aa1db4 Merge pull request #4881 from barnybug/fish-completions
Update fish completions for docker 0.9.1
2014-03-31 13:57:00 -06:00
Victor Vieux 5b98b70f29 Merge pull request #4927 from crosbymichael/start-hang
Make sure to set error reguardless of attach or stdin
2014-03-31 12:56:38 -07:00
Victor Vieux b430f4f45b add test
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 19:31:21 +00:00
Victor Vieux 9709c31d1b fix import display
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 19:21:57 +00:00
Victor Vieux bce2464e5e Merge pull request #4928 from unclejack/testscli-pull_busybox
integration-cli: pull busybox before running
2014-03-31 12:16:44 -07:00
Michael Crosby 904bf049c1 Force abs paths for host volumes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 19:10:19 +00:00
unclejack f7ae3a1381 integration-cli: pull busybox before running
Make sure the busybox image is ready to be used when running the cli
integration tests.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-31 22:07:23 +03:00
Michael Crosby b45c1061bf Merge pull request #4174 from vbatts/vbatts-env_file
support for `docker run` environment variables file
2014-03-31 12:01:14 -07:00
Marc Abramowitz f163720228 Move installmirrors anchor in doc
so it's before "Mirrors" instead of "Docker and local DNS server
warnings"

Docker-DCO-1.1-Signed-off-by: Marc Abramowitz <msabramo@gmail.com> (github: msabramo)
2014-03-31 11:48:57 -07:00
Vincent Batts 500c8ba4b6 env-file: variable behavior
trim the front of variables. Error if there are other spaces present.
Leave the value alone.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:45:13 -04:00
Vincent Batts ff4ac7441b --env-file: simple line-delimited
match dock functionality, and not try to achieve shell-sourcing compatibility

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:45:13 -04:00
Vincent Batts d9c257732e env-file: remove the unneeded deprecation markup
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:45:13 -04:00
Vincent Batts 33dde1f728 env-file: update functionality and docs
Multiple flags allowed. Order prescribed. Examples provided. Multiline
accounted for.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:45:13 -04:00
Vincent Batts acf5289ddd make the --env-file accept multiple flags
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:45:13 -04:00
Vincent Batts bcba5246f9 Fixing doc references to --env-file
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:44:32 -04:00
Vincent Batts 4e0014f582 go fmt
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:44:32 -04:00
Vincent Batts 586e6c5eb9 --env-file instead of --envfile
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:44:32 -04:00
Vincent Batts bfaa917a96 pkg/opts: Close the file handle
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:44:32 -04:00
Vincent Batts cd51ac92bd support for docker run environment variables file
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-31 14:44:32 -04:00
Michael Crosby 51d9a04f17 Make sure to set error reguardless of attach or stdin
Fixes #3364
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 18:33:14 +00:00
unclejack 1805ef1ccc Merge pull request #4901 from vieux/split_api_2_pkg
Split API into 2 go packages
2014-03-31 21:32:05 +03:00
Victor Vieux 7697aad7b0 apply Reduce error level form harmless errors
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 18:11:53 +00:00
Victor Vieux 185b040e49 fix tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 18:11:53 +00:00
Victor Vieux ae9ed84fda split client in 2 files
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 18:11:53 +00:00
Victor Vieux a7365a6237 split API into 2 go packages
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-31 18:10:02 +00:00
unclejack 25f7b3fbb7 Merge pull request #4926 from tianon/add-cli-tests-to-default-bundles
Add "test-integration-cli" to our DEFAULT_BUNDLES list (make all)
2014-03-31 21:09:44 +03:00
unclejack b936f4f5e1 Merge pull request #4752 from crosbymichael/fix-volumes-from-files
Allow volumes from to be individual files
2014-03-31 21:07:05 +03:00
Tianon Gravi 2543912e7b Add "test-integration-cli" to our DEFAULT_BUNDLES list (make all)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-31 11:55:55 -06:00
Guillaume J. Charmes e4aaacc235 Fix expending buffer in StdCopy
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-31 10:54:06 -07:00
Johannes 'fish' Ziemke 7808886744 Add more women
Added Adele Goldstine, Erna Schneider Hoover, Grace Hopper, Jean Bartik,
Jean E. Sammet, Karen Spärck Jones, Radia Perlman and Sophie Wilson.

Thanks to @jamtur01 for Sophie Kowalevski, Hypatia, Jane Goodall, Maria
Mayer, Rosalind Franklin, Gertrude Elion, Elizabeth Blackwell,
Marie-Jeanne de Lalande, Maria Kirch, Maria Ardinghelli, Jane Colden,
June Almeida, Mary Leakey, Lise Meitner, Johanna Mestorf.

Thanks to @xamebax for Françoise Barré-Sinoussi, Rachel Carson, Barbara
McClintock, Ada Yonath.

Docker-DCO-1.1-Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org> (github: discordianfish)
2014-03-31 19:44:57 +02:00
Michael Crosby 28015f8e57 Add integration test for volumes-from as file
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 17:42:34 +00:00
Michael Crosby a57900e35f Allow volumes from to be individual files
Fixes #4741
Right now volumes from expected a dir and not a file so when the drivers
 tried to do the bind mount, the destination was a dir, not a file so it
 fails to run.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-31 17:27:38 +00:00
Michael Crosby 7727c817fb Merge pull request #4505 from unclejack/cli_integration_tests
cli integration tests
2014-03-31 10:26:38 -07:00
unclejack 883649ffe7 Merge pull request #4922 from creack/reduce_error_lvl
Reduce error level form harmless errors
2014-03-31 20:05:25 +03:00
Guillaume J. Charmes a2487aa683 Reduce error level form harmless errors
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-31 09:07:56 -07:00
Dan Walsh 6899b05236 Merge branch 'master' of github.com:dotcloud/docker 2014-03-31 10:09:27 -04:00
Sven Dowideit 04d1e68639 OSX mktemp is different - hopfully this will now work on HP/UX >:}
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-31 11:05:21 +10:00
Sven Dowideit c8ae307bab Merge pull request #4900 from WarheadsSE/fix-bip-docs
Fix daemon's documentation for -bip flag
2014-03-30 10:38:36 +10:00
Sven Dowideit eaf2dd0839 Merge pull request #4887 from jameshfisher/nat
Add missing port NAT configuration
2014-03-30 10:28:59 +10:00
Tianon Gravi 3fb1fc0b7b Small tweaks to the hack scripts to make them simpler
Please do with this as you please (including rebasing and/or squashing it), especially under clause (c) of the DCO.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-29 23:09:45 +02:00
unclejack 6db32fdefd initial version of cli integration tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-29 23:09:40 +02:00
Solomon Hykes 04f5c75239 Steve Wozniak is not boring.
Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
2014-03-29 00:48:47 +00:00
Victor Vieux c705e4a80b Merge pull request #4884 from rhatdan/remount-var-lib-docker
Remount /var/lib/docker as --private to fix scaling issue
2014-03-28 17:15:32 -07:00
Jason Plum 36dfa0c4ec Fix daemon's documentation for -bip flag 2014-03-28 18:02:17 -04:00
James Turnbull 058cc8818a Merge pull request #4862 from jsimonelis/dockerfile_reference_typofix
documentation typo fix -- Dockerfile reference
2014-03-28 16:18:45 -04:00
Justin Simonelis 7d750180e4 Update AUTHORS 2014-03-28 15:15:54 -05:00
Victor Vieux e13b4fd869 Merge pull request #4836 from atlassian/master
Use environmental proxy when doing a ping to the remote repo
2014-03-28 10:24:16 -07:00
Michael Crosby 755cd48258 Merge pull request #4895 from alexlarsson/dm-clean-shutdown
devmapper: Ensure we shut down thin pool cleanly.
2014-03-28 09:49:04 -07:00
Alexander Larsson 66c5e19f9b devmapper: Ensure we shut down thin pool cleanly.
The change in commit a9fa1a13c3
made us only deactivate devices that were mounted. Unfortunately
this made us not deactivate the base device. Which caused
us to not be able to deactivate the pool.

This fixes that by always just deactivating the base device.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-28 15:58:14 +01:00
Dan Walsh 792bb41e52 Remount /var/lib/docker as --private to fix scaling issue
If an admin mounts all file systems as -rshared (Default on RHEL and Fedora)
we see a scaling problem as the number of container increase.

Basically every new container needs to have it new mounts in /var/lib/docker
shared to all other containers, this ends up with us only able to scale to
around 100 containers, before the system slows down.

By simply bind mounting /var/lib/docker on its and then setting it private,
the scaling issue goes away.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-03-28 09:19:21 -04:00
unclejack 5b9c8607d9 Merge pull request #4759 from crosbymichael/comments-in-buildfile
Strip comments before parsing line continuations
2014-03-28 11:16:32 +02:00
unclejack 10b7ae39b9 Merge pull request #4880 from tianon/ignore-down-interfaces
Adjust TestOnlyLoopbackExistsWhenUsingDisableNetworkOption to ignore "DOWN" interfaces
2014-03-28 10:54:11 +02:00
unclejack 0fb8146afa Merge pull request #4889 from crosbymichael/fix-commit-validation
Fix commit and import when no repository is specified
2014-03-28 10:25:21 +02:00
Victor Vieux d2327006d6 Merge pull request #4442 from ibuildthecloud/hairpin-nat
Support hairpin NAT without going through docker server
2014-03-27 18:09:42 -07:00
unclejack 69ba31e17e Merge pull request #4450 from alexlarsson/cgroups-systemd
Add systemd implementation of cgroups
2014-03-28 03:05:02 +02:00
James Harrison Fisher 64dd77fa0e Add missing port NAT configuration
Missing port translation causes last line to fail

Docker-DCO-1.1-Signed-off-by: James Fisher <jameshfisher@gmail.com> (github: jameshfisher)
2014-03-27 23:02:44 +00:00
Guillaume J. Charmes 45b43d85ec Merge pull request #4873 from crosbymichael/add-internal-symlinks
Follow symlinks inside container root for build's ADD
2014-03-27 15:46:48 -07:00
Guillaume J. Charmes d848e2d113 Merge pull request #4871 from crosbymichael/bip-exists
Return error when existing bridge does not match ip
2014-03-27 14:51:21 -07:00
Alexander Larsson 6c7835050e cgroups: Add systemd implementation of cgroups
This implements cgroup.Apply() using the systemd apis.
We create a transient unit called "docker-$id.scope" that contains
the container processes. We also have a way to set unit specific
properties, currently only defining the Slice to put the
scope in.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 22:44:31 +01:00
Alexander Larsson 1296d5ce9a Add systemd.SdBooted()
This is a conversion of sd_booted() from libsystemd to go and checks
if the system was booted with systemd.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 22:44:31 +01:00
Alexander Larsson cb43fd0071 pkg/systemd: Drop our copy-pasted version of go-systemd/activation
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 22:44:31 +01:00
Alexander Larsson d4725801b3 Vendor github.com/godbus/dbus and github.com/coreos/go-systemd
We need this to do systemd API calls.

We also add the static_build tag to make godbus not use
os/user which is problematic for static builds.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 22:44:26 +01:00
Alexander Larsson 9294d7f2af cgroups: Join groups by writing to cgroups.procs, not tasks
cgroups.procs moves all the threads of the process, and "tasks" just
the one thread. I believe there is a risk that we move the main thread,
but then we accidentally fork off one of the other threads if the go
scheduler randomly switched to another thread. So, it seems safer (and
more correct) to use cgroups.procs.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 21:47:47 +01:00
Alexander Larsson 7f7d8419a7 cgroups: Splity out Apply/Cleanup to separate file/interface
This leaves only the generic cgroup helper functions in cgroups.go and
will allow easy implementations of other cgroup managers.

This also wires up the call to Cleanup the cgroup which was missing
before.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 21:47:47 +01:00
Alexander Larsson 7a3070a600 Add --opt arguments for drivers
In order to handle special configuration for different drivers we
make the Config field a map to string array. This lets
us use it for lxc, by using the "lxc" key for those, and we can
later extend it easily for other backend-specific options.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-27 21:47:47 +01:00
Tianon Gravi 4af79a36e2 Add mention of mounting cgroupfs properly to PACKAGERS.md
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-27 16:44:30 -04:00
Barnaby Gray 9d2a778051 Update fish completions for docker master.
Docker-DCO-1.1-Signed-off-by: Barnaby Gray <barnaby@pickle.me.uk> (github: barnybug)
2014-03-27 19:45:47 +00:00
Ryan Thomas d6c2188cae Docker-DCO-1.1-Signed-off-by: Ryan Thomas <rthomas@atlassian.com> (github: rthomas) 2014-03-28 06:31:04 +11:00
Tianon Gravi be5c65c2a2 Merge pull request #4613 from tianon/add-cgroupfs-mention-to-packagers
Add mention of mounting cgroupfs properly to PACKAGERS.md
2014-03-27 13:26:31 -06:00
Tianon Gravi 94538fe022 Merge pull request #4865 from creack/fix_fish_completion
Fix fish completion when having alias on awk or grep
2014-03-27 13:07:11 -06:00
Michael Crosby ba9f9b3c92 Merge pull request #4818 from viirya/fix_working_dir_not_dir
fix the problem when setting existing file as working dir
2014-03-27 11:41:18 -07:00
Tianon Gravi db20cb0e1a Merge pull request #4879 from gorsuch/exec-upstart
Use "exec" in the upstart script to let upstart manage the docker process instead of a shell
2014-03-27 12:15:30 -06:00
unclejack 303a954151 Merge pull request #4838 from crosbymichael/btrfs-ftw
Promote btrfs
2014-03-27 19:55:25 +02:00
Michael Gorsuch 73ee4879af upstart: use exec here so upstart can monitor the process and not just a shell
Docker-DCO-1.1-Signed-off-by: Michael Gorsuch <michael.gorsuch@gmail.com> (github: gorsuch)
2014-03-27 12:44:33 -05:00
Tianon Gravi ad3e71d5c7 Adjust TestOnlyLoopbackExistsWhenUsingDisableNetworkOption to ignore "DOWN" interfaces
This fixes the following, which I've been seeing on all my machines for as long as I can remember:

--- FAIL: TestOnlyLoopbackExistsWhenUsingDisableNetworkOption (0.36 seconds)
	container_test.go:1597: Wrong interface count in test container: expected [*: lo], got [1: lo 2: sit0]

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-27 11:06:32 -06:00
Tianon Gravi 79e8ef28e4 Merge pull request #4211 from rhatdan/master
Add SELinux support
2014-03-27 10:26:05 -06:00
Michael Crosby 6c9a47f01c Update native driver to use labels from opts
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 09:04:54 +00:00
Michael Crosby bfa2141765 Update lxc to use opts for selinux labels
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 08:57:01 +00:00
Michael Crosby 2d270c4f06 Fix compile and unit test errors after merge
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 08:25:01 +00:00
Michael Crosby eab56ac007 Merge branch 'master' into pluginflag
Conflicts:
	pkg/cgroups/cgroups.go
	pkg/libcontainer/nsinit/exec.go
	pkg/libcontainer/nsinit/init.go
	pkg/libcontainer/nsinit/mount.go
	runconfig/hostconfig.go
	runconfig/parse.go
	runtime/execdriver/driver.go
	runtime/execdriver/lxc/lxc_template.go
	runtime/execdriver/lxc/lxc_template_unit_test.go
	runtime/execdriver/native/default_template.go
	runtime/execdriver/native/driver.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 08:00:18 +00:00
Michael Crosby 097aef2ca9 Fix commit and import when no repository is specified
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 04:24:31 +00:00
Michael Crosby 67af7b3fb0 Strip comments before parsing line continuations
Fixes #3898
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 02:41:08 +00:00
Michael Crosby 0fb01fd8fe Follow symlinks inside container root for build's ADD
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-27 02:07:35 +00:00
Dan Walsh 4c43566925 This patch adds SELinux labeling support.
docker will run the process(es) within the container with an SELinux label and will label
all of  the content within the container with mount label.  Any temporary file systems
created within the container need to be mounted with the same mount label.

The user can override the process label by specifying

-Z With a string of space separated options.

-Z "user=unconfined_u role=unconfined_r type=unconfined_t level=s0"

Would cause the process label to run with unconfined_u:unconfined_r:unconfined_t:s0"

By default the processes will run execute within the container as svirt_lxc_net_t.
All of the content in the container as svirt_sandbox_file_t.

The process mcs level is based of the PID of the docker process that is creating the container.

If you run the container in --priv mode, the labeling will be disabled.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-03-26 15:30:40 -04:00
Guillaume J. Charmes ab00619c56 Merge pull request #4855 from unclejack/update_release_v0.9.1
Update master for release 0.9.1
2014-03-26 11:43:13 -07:00
Guillaume J. Charmes e7f3234c1e Fix fish completion when having alias on awk or grep
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-26 09:05:21 -07:00
Paul Jimenez 4746c76156 Include contributed completions in ubuntu PPA
Docker-DCO-1.1-Signed-off-by: Paul Jimenez <pj@place.org> (github: pjz)
2014-03-26 11:23:26 -04:00
Justin Simonelis 72dc19fd7d authors update 2014-03-26 10:30:57 -04:00
Justin Simonelis 61f7d967ed typo fix 2014-03-26 10:24:16 -04:00
Michael Crosby baba9cde95 Return error when existing bridge does not match ip
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-26 11:51:27 +00:00
unclejack b2721e05ce Change version to 0.9.1-dev
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-26 00:18:45 +02:00
unclejack d36176652e Bump to version v0.9.1
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)

Conflicts:
	VERSION
2014-03-26 00:18:19 +02:00
Victor Vieux 5506e4b62d Merge pull request #4840 from vbatts/vbatts-load_from_input
docker load: add --input flag
2014-03-25 14:37:27 -07:00
Victor Vieux abef5cb0fc Merge pull request #4628 from kippandrew/port-allocator
Fix port collision with dynamically allocated ports
2014-03-25 14:30:10 -07:00
Victor Vieux 6643cc20fe Merge pull request #4794 from alexlarsson/dm-better-shutdown
devicemapper: Better/faster shutdown
2014-03-25 14:03:00 -07:00
Tianon Gravi e99297e4eb Merge pull request #4842 from pda/installer-devicemapper-comment
Update AUFS comment in install.sh
2014-03-25 14:29:46 -06:00
Paul Annesley 576278102e install.sh (get.docker.io) aufs comment updated.
devicemapper has landed, but the TODO hasn't been actioned presumably
because aufs is still preferred over devicemapper when available[1].

Comment updated accordingly.

Citation [1]: https://github.com/crosbymichael/docker/blob/267ca39921c35826ccbdb84fbbc0690bfef385d7/runtime/graphdriver/driver.go#L40-L46

Docker-DCO-1.1-Signed-off-by: Paul Annesley <paul@annesley.cc> (github: pda)
2014-03-25 11:33:16 -07:00
Vincent Batts 2517370088 docker load: added example of a multiple tag image
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-25 08:30:59 -04:00
Sven Dowideit d9c1116303 Merge pull request #4845 from noducks/link_fix
Force flag to prevent file already exists error.
2014-03-25 21:03:04 +10:00
noducks 8e434c314e Force flag to prevent file already exists error.
Docker-DCO-1.1-Signed-off-by: No Ducks <onemannoducks@gmail.com> (github: noducks)
2014-03-25 10:26:45 +00:00
Sven Dowideit 30d25a3d27 Merge pull request #4814 from noducks/master
Reminder for OSX users not to use SUDO
2014-03-25 20:15:39 +10:00
viirya 293157b8b3 check if working dir is a directory and raise corresponding errors when making dir.
Docker-DCO-1.1-Signed-off-by: Liang-Chi Hsieh <viirya@gmail.com> (github: viirya)
2014-03-25 17:47:08 +08:00
noducks 69087f2d23 Reminder for OSX users not to use SUDO
Useful for those who haven't made it to the examples page yet. https://github.com/chadoh/docker/commit/dad4a998dc716e506c874ce0e792989b9df28748

Docker-DCO-1.1-Signed-off-by: No Ducks <onemannoducks@gmail.com> (github: noducks)
2014-03-25 09:42:59 +00:00
Ryan Thomas a5ccb5b28d Docker-DCO-1.1-Signed-off-by: Ryan Thomas <rthomas@atlassian.com> (github: rthomas) 2014-03-25 14:45:11 +11:00
Vincent Batts c6c7c03cdd docker load: doc clarification
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-24 23:36:07 -04:00
Sven Dowideit 267ca39921 Merge pull request #4839 from bflad/chef-docker-docs
Add Chef usage documentation
2014-03-25 12:38:45 +10:00
Brian Flad c84ff187c6 Fix typo in Using Chef documentation description
Docker-DCO-1.1-Signed-off-by: Brian Flad <bflad417@gmail.com> (github: bflad)
2014-03-24 22:29:54 -04:00
Vincent Batts 84e1fdf35d docker load: add --input flag
for those that do not care to read from redirected stdin

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-24 21:43:26 -04:00
Brian Flad bb034c6b42 Add Chef usage documentation
Docker-DCO-1.1-Signed-off-by: Brian Flad <bflad417@gmail.com> (github: bflad)
2014-03-24 21:39:15 -04:00
Sven Dowideit 0b2b5a594b Merge pull request #4786 from SvenDowideit/run--lxc-conf-is-lxc-driver-only-atm
add a note that --lxc-conf is lxc-driver only.
2014-03-25 11:21:06 +10:00
Michael Crosby 4585d2da3e Merge pull request #4751 from enokd/master
Fixes #3369 Repeated slash-'/' characters; harmonize across all name-related commands
2014-03-24 17:43:02 -07:00
Tianon Gravi e1035535ec Merge pull request #4837 from crosbymichael/remove-ci
Remove docker-ci code from the repo
2014-03-24 18:01:26 -06:00
Michael Crosby a258d048a2 Merge pull request #4778 from vbatts/vbatts-save_to_output
`docker save --output` flags
2014-03-24 16:52:08 -07:00
Guillaume J. Charmes c3ff1f41bb Merge pull request #4835 from crosbymichael/reverst-stop-kill
Revert back to the default stop functionality of SIGKILL after timeout
2014-03-24 16:33:38 -07:00
Michael Crosby dece260f3a Merge pull request #4832 from LK4D4/fix_events_hanging_#4804
Workaround for hanging events. Fixes #4804
2014-03-24 16:26:50 -07:00
LK4D4 c7540b3e94 Workaround for hanging events. Fixes #4804
Docker-DCO-1.1-Signed-off-by: LK4D4 <lk4d4math@gmail.com> (github: LK4D4)
2014-03-24 22:31:32 +04:00
Michael Crosby 68dd722e3c Promote btrfs
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 14:15:04 +00:00
Michael Crosby f41135bc11 As far as I know this code is not used or maintained
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 12:39:56 +00:00
Michael Crosby d503714285 Revert "Disable automatic killing of containers when docker stop fails"
This reverts commit 8b5cf51d60.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 12:03:56 +00:00
Michael Crosby f1bd79ec97 Revert "fix failing test to use kill instead of stop"
This reverts commit 4434dcee89.

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 12:03:41 +00:00
Michael Crosby 10fdbc0467 Add unit test for lxc conf merge and native opts
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 07:16:40 +00:00
Michael Crosby 9a7be1b015 Add cpuset.cpus to cgroups and native driver options
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-24 05:33:11 +00:00
Michael Crosby 5294bf7e67 Merge pull request #4775 from LK4D4/remove_duplicate_dns_#4714
Remove duplication of Dns in config merging.
2014-03-21 17:08:06 -07:00
Victor Vieux 97e5295f43 Merge pull request #4800 from vieux/rename_network_driver
rename lxc to bridge
2014-03-21 16:52:40 -07:00
Michael Crosby de450b23be Merge pull request #4761 from ichik1/fix-display-of-since-time-exit
Fix since time exit display when s.FinishedAt is zero
2014-03-21 16:48:30 -07:00
Tianon Gravi 708ecd7da2 Add mention of mounting cgroupfs properly to PACKAGERS.md
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-21 14:17:09 -06:00
Michael Crosby 2c58a1e288 Change placement of readonly filesystem
We need to change it to read only at the very end so that bound,
copy dev nodes and other ops do not fail.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 14:17:17 +00:00
Michael Crosby 83618c2b81 Add more native driver options
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 14:07:16 +00:00
Michael Crosby 146a212f71 Change syntax to use dots
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 12:38:50 +00:00
Michael Crosby c9d7f858fd Change flag to -o and --opt
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 11:53:15 +00:00
Michael Crosby 7c726669cb Factor out the native driver config options
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 08:10:07 +00:00
Ken ICHIKAWA 4002eac8b8 Fix since time exit display when s.FinishedAt is zero
When s.FinishedAt is zero, the since time exit in docker ps doesn't display correct time.
For example
```
Exited (0) 292.471209 years ago
```
This patch fixes the since time exit to display nothing if s.FinishedAt is zero.

Docker-DCO-1.1-Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com> (github: ichik1)
2014-03-21 15:28:02 +09:00
Victor Vieux 69db806542 Merge pull request #4518 from tianon/sync-DCO-with-developercertificate.org
Resync the DCO text with upstream at http://developercertificate.org/
2014-03-20 23:07:08 -07:00
Sven Dowideit 14502f0f1c Merge pull request #4803 from alambike/patch-1
Added Eixo::Docker to the list of libraries
2014-03-21 12:49:51 +10:00
alambike 79c11b19ec Added Eixo::Docker to the list of libraries
Docker-DCO-1.1-Signed-off-by: Javier Gómez <alambike@gmail.com> (github: alambike)
2014-03-21 03:13:06 +01:00
Sven Dowideit 8329cd55e1 Merge pull request #4796 from cpuguy83/fix_single_dash_args_in_dcs
Fix double single dash arg issues in docs
2014-03-21 11:18:21 +10:00
Michael Crosby be5538d8a8 Allow containers to join the net namespace of other conatiners
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 00:48:17 +00:00
Michael Crosby 1bedae9107 Merge branch 'proppy-nsinit' into pluginflag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 00:36:23 +00:00
Michael Crosby 87b0df997b Merge branch 'nsinit' of https://github.com/proppy/docker into proppy-nsinit
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 00:36:09 +00:00
Michael Crosby 70f3b9f4ce Add ability to work with individual namespaces
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 00:23:34 +00:00
Michael Crosby 443a75d5f6 Allow caps to be toggled in native driver with plugin flag
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-21 00:10:24 +00:00
Djibril Koné 43c3ee3ba1 Harmonize / across all name-related commands/Validate images names
Docker-DCO-1.1-Signed-off-by: Djibril Koné <kone.djibril@gmail.com> (github: enokd)
2014-03-21 00:40:58 +01:00
Michael Crosby c5f9c4bd69 Dont use custom marshaling for caps and namespaces
This also adds an enabled field to the types so that they
can be easily toggled.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-20 23:09:01 +00:00
Michael Crosby f7b3e879fc Add initial plugin flag to pass lxc and native driver options
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-20 22:58:02 +00:00
Victor Vieux 8944fb2e9b rename lxc to bridge
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-20 21:51:28 +00:00
Tianon Gravi ab0c9b385c Remove the inotifywait hack from our upstart host-integration example that is no longer necessary
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-20 14:59:40 -06:00
Brian Goff fbd6fee4ab Fix double single dash arg issues in docs
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-03-20 14:14:54 -04:00
Alexander Larsson a9fa1a13c3 devicemapper: Better/faster shutdown
Right now shutdown is looping over *all* devicemapper
devices and actively deactivating them, this is pretty
slow if you have a lot of non-active containers. We
instead only deactivate the devices that are mounted.

We also do the shutdown unmount using MNT_DETACH which
forces the unmount in the global namespace, even if it
is busy because of some container having it mounted.
This means the device will be freed when that container
exits.

Also, we move the call to waitClose to deactivateDevice
because all callers of any of them call both anyway.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-20 17:38:35 +01:00
Guillaume J. Charmes 56c156190a Merge pull request #4782 from unclejack/fix_TestCreateStartRestartStopStartKillRm
fix failing test to use kill instead of stop
2014-03-20 09:10:32 -07:00
Tianon Gravi 2678af4ea8 Merge pull request #4790 from tianon/fix-release
Fix a lot of the sha256 and md5 stuff to be more DRY and extendible, and on more things (specifically, the tgz files too)
2014-03-19 22:49:19 -06:00
Tianon Gravi 6b46a09186 Fix a lot of the sha256 and md5 stuff to be more DRY and extendible, and on more things (specifically, the tgz files too)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-19 22:25:09 -06:00
Tianon Gravi 372b7282cb Merge pull request #4788 from SvenDowideit/sign-releases-fixup
Fix bugs in release.sh
2014-03-19 18:19:25 -06:00
Sven Dowideit 62eb23aed5 missed a bug
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-20 10:18:08 +10:00
Sven Dowideit a8cc6ebb18 I'm not looking forward to documenting cli arguments that may or may not show depending on what plugins / drviers you choose
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-20 09:59:54 +10:00
Djibril Koné e38e977a04 Harmonize / across all name-related commands
Docker-DCO-1.1-Signed-off-by: Djibril Koné <kone.djibril@gmail.com> (github: enokd)

Harmonize / across all name-related commands

Docker-DCO-1.1-Signed-off-by: Djibril Koné <kone.djibril@gmail.com> (github: enokd)

Harmonize / across all name-related commands:Return an error when repeated /

Docker-DCO-1.1-Signed-off-by: Djibril Koné <kone.djibril@gmail.com> (github: enokd)
2014-03-20 00:45:29 +01:00
Tianon Gravi 43124b5613 Merge pull request #4708 from SvenDowideit/sign-releases
Add md5 and sha256 to binaries on get.docker.io
2014-03-19 17:38:07 -06:00
Sven Dowideit 43febdd432 whitespace-blind
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-20 09:35:58 +10:00
James Turnbull f2b01f5fa1 Merge pull request #4784 from SvenDowideit/reference-security-doc
add a link to the security documentation when we mention the docker group (or -G)
2014-03-19 17:20:44 -06:00
Sven Dowideit 179e2c92d8 Generate md5 and sha265 hashes when building, and upload them in hack/release.sh
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-03-20 09:19:47 +10:00
Sven Dowideit f3765f96cf add a link to the security documentation when we mention the docker group (or -G)
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-20 09:08:52 +10:00
Victor Vieux aa63ece2ec Merge branch 'master' into discordianfish-https_client
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-19 22:05:36 +00:00
Victor Vieux 12687b7c10 Merge branch 'https_client' of github.com:discordianfish/docker into discordianfish-https_client
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-19 22:03:11 +00:00
Sven Dowideit 16ee4958f2 Merge pull request #4703 from netroy/patch-1
Document the missing `DisableNetwork` config flag to /containers/create end-point
2014-03-20 07:55:35 +10:00
Guillaume J. Charmes 3c9ae2b348 Merge pull request #3774 from danielnorberg/dns-search-domains
configurable dns search domains
2014-03-19 14:52:49 -07:00
unclejack 4434dcee89 fix failing test to use kill instead of stop
TestCreateStartRestartStopStartKillRm was failing because stop has been
changed to not kill containers.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-19 23:23:45 +02:00
Vincent Batts 78a0105eaf api/client: var style tweak
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-19 17:09:12 -04:00
Daniel Norberg c657603c61 variable declaration cleanup
Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-03-19 16:44:11 -04:00
Daniel Norberg 698ca9f38d fix typo in documentation
Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-03-19 16:44:09 -04:00
LK4D4 48cb2f0317 Remove duplication of Dns in config merging.
Fixes #4714
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-03-19 23:20:30 +04:00
Michael Crosby 6b5ba1b066 Merge pull request #4777 from vbatts/vbatts-server-info_and_assurance
images: assurance and debug info on image layers
2014-03-19 12:07:11 -07:00
Vincent Batts e93a16ab48 docker save: add and improve docs
add usage examples for `docker save ...`

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-19 14:47:20 -04:00
Vincent Batts 367a679b92 images: assurance and debug info on image layers
when pushing or saving layers, report sizes for validation. And ensure
that the files written are sync'ed.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-19 14:34:12 -04:00
Vincent Batts 5127732c79 docker save: --output flag
for those that do not care to redirect stdout

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-19 14:31:22 -04:00
Aditya ec3257921d Docker-DCO-1.1-Signed-off-by: Aditya <aditya@netroy.in> (github: netroy)
document `DisableNetwork` config flag
2014-03-19 19:01:49 +01:00
Michael Crosby 47470d299d Merge pull request #4691 from tianon/relative-workdir
Add proper support for relative WORKDIR instructions
2014-03-19 09:57:23 -07:00
Daniel Norberg fbfac21ed4 configurable dns search domains
Add a --dns-search parameter and a DnsSearch
configuration field for specifying dns search
domains.

Docker-DCO-1.1-Signed-off-by: Daniel Norberg <daniel.norberg@gmail.com> (github: danielnorberg)
2014-03-19 10:49:25 -04:00
James Turnbull d3c5891486 Merge pull request #4754 from vojnovski/consistent_apt-key_use
refactor($hack,$docs): be consistent in apt-key keyserver URI usage
2014-03-19 07:38:05 -06:00
Viktor Vojnovski 4fd82db4be refactor($hack,$docs): be consistent in apt-key keyserver URI usage, as done in #4740
In #4740, the apt-key call in docs is changed to use the keyserver port 80 instead of
port 11371, as the previous call would fail with a restrictive firewall or proxy.
This commit extends the change to all apt-key calls in the repository.

Docker-DCO-1.1-Signed-off-by: Viktor Vojnovski <vojnovski@gmail.com> (github: vojnovski)
2014-03-19 10:20:10 +01:00
James Turnbull ccddb33bf4 Merge pull request #4727 from andreaturli/master
add softlayer installation instructions
2014-03-19 01:04:44 -06:00
Sven Dowideit 53dc2d67fb mention the tgz - other people might like to know
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-19 14:24:49 +10:00
Sven Dowideit 92194f613e use this horrible complex bit of shell to make sure that curl doesn't hand the poor user a broken docker client
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-19 14:12:47 +10:00
Sven Dowideit 9bbc11b2ae Merge pull request #4758 from crosbymichael/redis-bind
Be explicit about binding to all interfaces in redis example
2014-03-19 13:04:02 +10:00
Michael Crosby 0bb1e3d9a7 Merge pull request #4753 from vieux/clean_container_stop
cleanup container.stop
2014-03-18 18:49:51 -07:00
Michael Crosby 7822b053cb Be explicit about binding to all interfaces in redis example
Fixes #4021

Moved to debian because the redis installed in ubuntu is really old
and does not support args via the cli.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-18 17:24:06 -07:00
Sven Dowideit 3b5b2f8953 Merge pull request #4757 from crosbymichael/osx-duh
Add sudo clause if your using osx or tcp
2014-03-19 10:22:30 +10:00
Michael Crosby 38a3fc3e0e Add sudo clause if your using osx or tcp
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-18 17:07:45 -07:00
Victor Vieux 3b1d590269 cleanup container.stop
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-18 23:48:14 +00:00
Sven Dowideit 9e1306f78f Merge pull request #4755 from crosbymichael/add-size-to-history-docs
Add image size to history docs
2014-03-19 09:32:35 +10:00
Johan Euphrosine 5dbfe310fe libcontainer: remove duplicate imports
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-03-18 16:25:26 -07:00
Michael Crosby 041ae08a2c Add image size to history docs
Fixes #3147
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-18 16:24:45 -07:00
Johan Euphrosine f58757a699 libcontainer: goimports
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-03-18 16:18:34 -07:00
Johan Euphrosine b10b950b11 libcontainer/nsinit/init: move mount namespace after network
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-03-18 16:18:04 -07:00
Johan Euphrosine f52b2fdcbb libcontainer/network: add netns strategy
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
2014-03-18 16:17:28 -07:00
Michael Crosby 22c18de7be Merge pull request #4744 from LK4D4/fix_issue_#3565
Using names in docker ps --since-id/--before-id, resolves #3565
2014-03-18 15:39:56 -07:00
Tianon Gravi 119839dfd7 Merge pull request #4749 from cpuguy83/add_nofile_noproc_settings_to_upstart
Add upstart nofile/noproc similar to systemd init
2014-03-18 15:30:30 -06:00
Sven Dowideit 06d87fd540 Merge pull request #4740 from vojnovski/patch-1
Update ubuntulinux.rst
2014-03-19 06:48:57 +10:00
Brian Goff e27c635c06 Add upstart nofile/noproc similar to systemd init
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-03-18 16:27:20 -04:00
LK4D4 c1f2abd899 Using names in docker ps --since-id/--before-id, resolves #3565
Also renames --since-id/--before-id to --since/--before and add errors
on non-existent containers.
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
2014-03-18 23:30:21 +04:00
Guillaume J. Charmes bfbf338f51 Merge pull request #4684 from cpuguy83/4682-do_not_sigkill_on_docker_stop
Disable automatic killing of containers when docker stop fails
2014-03-18 11:28:42 -07:00
Michael Crosby 1e56ec8b67 Merge pull request #4733 from vieux/3729_time_exit
add time since exit in docker ps
2014-03-18 11:25:11 -07:00
Victor Vieux c584910b55 Merge pull request #4650 from vbatts/vbatts-btrfs_build_tags
btrfs: build tags
2014-03-18 11:10:00 -07:00
Vincent Batts c76def2dd2 typo
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-18 13:46:38 -04:00
Vincent Batts 29c45e7f4f packagers: btrfs build tag docs
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-18 13:45:36 -04:00
Vincent Batts 5cfea26bcf btrfs: build tags
correct filename and make the tag more readable

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-18 13:44:23 -04:00
Vincent Batts 85a62d9b77 btrfs: build tags
Default to the same build behavior, but allow a go build tag to disable
building of the btrfs graphdriver

	go build -tags no_btrfs' ...
	$ go build
	$ objdump -S docker | grep btrfs | wc -l
	194
	$ go build -tags no_btrfs
	$ objdump -S docker | grep btrfs | wc -l
	1
	# that is a comment ;-)

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-18 13:44:22 -04:00
Andy Kipp 555416fd02 Add err checks for port allocator tests
Docker-DCO-1.1-Signed-off-by: Andy Kipp <andy@rstudio.com> (github: kippandrew)
2014-03-18 13:30:21 -04:00
Andy Kipp 73c416a20d Be more explicit in finding next port to allocate
Docker-DCO-1.1-Signed-off-by: Andy Kipp <andy@rstudio.com> (github: kippandrew)
2014-03-18 13:30:21 -04:00
Andy Kipp 7a1db291fc Better test error message
Docker-DCO-1.1-Signed-off-by: Andy Kipp <andy@rstudio.com> (github: kippandrew)
2014-03-18 13:30:21 -04:00
Andy Kipp f7b6fbbd76 Prevent dynamic allocation of previously allocated ports
Docker-DCO-1.1-Signed-off-by: Andy Kipp <andy@rstudio.com> (github: kippandrew)
2014-03-18 13:30:21 -04:00
Victor Vieux f14c0866ec Merge pull request #4674 from vbatts/vbatts-graphdriver_build_tags
graphdriver: build tags
2014-03-18 10:25:59 -07:00
Guillaume J. Charmes 8ac6400749 Merge pull request #4739 from alexlarsson/dm-timeout
devmapper: Increase timeout in waitClose to 10sec
2014-03-18 10:12:59 -07:00
James Turnbull 98949c0793 Merge pull request #4738 from SvenDowideit/mention-env-scrubbing
add env hint
2014-03-18 10:32:05 -06:00
Viktor Vojnovski ae1dd52b19 Update ubuntulinux.rst
Adding the Docker repository key fails if port 11371 not open. This would probably work for more people.
2014-03-18 17:10:22 +01:00
Alexander Larsson a70beda1ec devmapper: Increase timeout in waitClose to 10sec
As reported in https://github.com/dotcloud/docker/issues/4389 we're
currently seeing timeouts in waitClose on some systems. We already
bumped the timeout in waitRemove() in
https://github.com/dotcloud/docker/issues/4504.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-18 15:54:40 +01:00
Sven Dowideit e5cbb5c906 add env hint
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-18 22:29:11 +10:00
Michael Crosby 3782900405 Merge pull request #4731 from crosbymichael/fix-execin
Only unshare the mount namespace for execin
2014-03-17 18:59:26 -07:00
Vincent Batts 448b64164d runtime: no build tags for vfs driver
Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-17 21:54:43 -04:00
Vincent Batts 670ce98c60 graphdriver: build tags
Enable build tags for all the graphdrivers to be excludable.

As an example:
```
$ go build
$ ls -l docker
-rwxr-xr-x 1 vbatts vbatts 18400158 Mar 14 14:22 docker*
$ go build -tags "exclude_graphdriver_aufs exclude_graphdriver_vfs exclude_graphdriver_devicemapper"
$ ls -l docker
-rwxr-xr-x 1 vbatts vbatts 17467068 Mar 14 14:22 docker*
```

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-17 21:54:05 -04:00
Michael Crosby 4b1513f9c3 Only unshare the mount namespace for execin
Fixes #4728
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-17 18:52:56 -07:00
Tianon Gravi 69299f041f Add some documentation about relative WORKDIR values
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-17 19:42:27 -06:00
Tianon Gravi c1f492755b Improve WORKDIR test to cover more edge cases
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-17 19:42:13 -06:00
Victor Vieux 15a267b57d add time since exit in docker ps
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-18 01:34:43 +00:00
Guillaume J. Charmes 68dc189680 Merge pull request #4661 from vieux/add_no_prune
Add no prune
2014-03-17 16:07:55 -07:00
Andrea Turli 8b159fca8a address comments from @jamtur01
Docker-DCO-1.1-Signed-off-by: Andrea Turli <andrea.turli@gmail.com> (github: andreaturli)
2014-03-17 23:39:35 +01:00
unclejack fb503da34e Merge pull request #4710 from jimenez/4680-timeout_flag-fix
Disable timeout
2014-03-18 00:38:39 +02:00
Victor Vieux 30541ade82 Merge pull request #4702 from timthelion/Issue#4681-1
Fix Issue#4681
2014-03-17 15:31:54 -07:00
Andrea Turli 782eb5f03a add softlayer installation instructions
Docker-DCO-1.1-Signed-off-by: Andrea Turli <andrea.turli@gmail.com> (github: andreaturli)
2014-03-17 23:19:47 +01:00
Isabel Jimenez 25218f9b23 adding configuration for timeout and disable it by default
Docker-DCO-1.1-Signed-off-by: Isabel Jimenez <contact@isabeljimenez.com> (github: jimenez)
2014-03-17 15:12:02 -07:00
Timothy Hobbs 659b719aa6 Refactor out interface specific information from execdriver.Network
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-03-17 22:53:48 +01:00
Sven Dowideit 865310e99d Merge pull request #4689 from ralphbean/patch-1
Update fedora.rst
2014-03-18 07:49:48 +10:00
Timothy Hobbs 353df19ab7 Fix issue #4681 - No loopback interface within container when networking is disabled.
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

Remove loopback code from veth strategy

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

Looback strategy: Get rid of uneeded code in Create
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

Use append when building network strategy list

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

Swap loopback and veth strategies in Networks list

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

Revert "Swap loopback and veth strategies in Networks list"

This reverts commit 3b8b2c8454171d79bed5e9a80165172617e92fc7.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)

When initializing networks, only return from the loop if there is an error

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-03-17 22:01:24 +01:00
Timothy Hobbs 53c5b1856d Add failing test case for issue #4681
Add a failing test case for an issue where docker is not creating a loopback device if networking is dissabled.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
2014-03-17 22:01:24 +01:00
Guillaume J. Charmes dd040c9870 Merge pull request #4723 from vieux/fix_panic_monitor
fix panic in monitor
2014-03-17 13:52:22 -07:00
unclejack 0e92c7c24a Merge pull request #4721 from vieux/4716-display_ps-fix
Fix display command display in docker ps
2014-03-17 22:04:00 +02:00
Victor Vieux 1dfc440733 fix panic in monitor
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 19:33:40 +00:00
Victor Vieux 326f6a4b4d fix tests
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 19:17:40 +00:00
Brian Goff 8b5cf51d60 Disable automatic killing of containers when docker stop fails
Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
2014-03-17 15:15:44 -04:00
Guillaume J. Charmes 59035d291f Merge pull request #4678 from crosbymichael/move-runtime-deps
Move runtime deps
2014-03-17 12:01:09 -07:00
Michael Crosby 2bddcd68b4 Gofmt imports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-17 11:41:28 -07:00
Victor Vieux a18d08177c Add missing client doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 18:40:57 +00:00
Victor Vieux afcaaffd0b update doc
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 18:40:57 +00:00
Victor Vieux edd8d2d351 add no prune to rmi
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 18:40:57 +00:00
Michael Crosby 96c4816cef Move graphdrivers into runtime top level pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-17 11:40:12 -07:00
Michael Crosby af385151ce Move execdrivers into runtime top level pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-17 11:40:12 -07:00
Michael Crosby 2230c9b9a7 Move networking drivers into runtime top level pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-17 11:40:12 -07:00
unclejack 2ada6441db Merge pull request #4701 from erikh/4099-non_existent_file_no_error
Fix `docker cp` trying to untar files that do not exist.
2014-03-17 20:38:26 +02:00
Guillaume J. Charmes f9bd6c860d Merge pull request #4364 from vieux/move_clone
move git clone from daemon to client
2014-03-17 11:36:56 -07:00
Victor Vieux 5921b186d1 display command display in docker ps
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 18:36:15 +00:00
Guillaume J. Charmes 597e0812fb Merge pull request #4645 from crosbymichael/add-logger
Add logger to libcontainer
2014-03-17 11:30:14 -07:00
Guillaume J. Charmes d810218038 Merge pull request #4720 from vieux/fix_content-type_cp
fix content-type detection in docker cp
2014-03-17 11:24:18 -07:00
Ralph Bean a62c7215c6 Update fedora.rst
It looks like ``wmdocker`` does not have an update for Fedora 20:

```
~❯ pkgwat releases wmdocker
Starting new HTTPS connection (1): apps.fedoraproject.org
+---------------+----------------+-----------------+
| release       | stable_version | testing_version |
+---------------+----------------+-----------------+
| Rawhide       | 1.5-12.fc21    | None            |
| Fedora 20     | None           | None            |
| Fedora 19     | None           | None            |
| Fedora EPEL 7 | None           | None            |
| Fedora EPEL 6 | None           | None            |
| Fedora EPEL 5 | None           | None            |
+---------------+----------------+-----------------+
```

I'm not sure if the owner awjb is intending to create an F20 update or
not, but either way -- these docs are incorrect as currently written.

Docker-DCO-1.1-Signed-off-by: Ralph Bean <rbean@redhat.com> (github: ralphbean)
2014-03-17 14:18:11 -04:00
Guillaume J. Charmes 73f5aa87af Merge pull request #4719 from philips/Capabilities-to-CapabilitiesMask
refactor(libcontainer): rename to CapabilitiesMask
2014-03-17 11:15:29 -07:00
Brandon Philips ad7e7d6123 chore(libcontainer): small grammar fix in types_test
Someone probably got really used to typing er on the end of contain :)

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-03-17 11:07:29 -07:00
Brandon Philips 128381e0f0 refactor(libcontainer): rename to CapabilitiesMask
The Capabilities field on libcontainer is actually used as a mask.
Rename the field so that this is more clear.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
2014-03-17 11:07:12 -07:00
Victor Vieux a9ac35cbfb Merge pull request #4700 from erikh/2371-sort_ports
In `docker ps`, sort by port instead of unsorted.
2014-03-17 11:03:06 -07:00
Michael Crosby f68dd44dfa Merge pull request #4686 from pnasrat/benchmark-typo
Fix spelling of benchmark test
2014-03-17 10:59:43 -07:00
Victor Vieux 90b283c39a fix content-type detection in docker cp
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-17 17:56:21 +00:00
unclejack 555c1ef670 Merge pull request #4672 from vieux/update_godoc_mflags
update godoc and add MAINTAINERS for mflags
2014-03-17 19:30:58 +02:00
Sébastien Stormacq 681d1d2f61 Include instruction for AMI 2014.03
Include instructions to install Docker from Amazon's Software Repository on new AMI 2014.03 (Release Candidate)

Docker-DCO-1.1-Signed-off-by: Sebastien Stormacq <sebastien.stormacq@gmail.com> (github: sebsto)
2014-03-17 15:36:46 +01:00
Sven Dowideit 2ea3fa9af5 Merge pull request #4698 from rutsky/external_link_in_rst_fix
Fix external link on security of containers
2014-03-17 09:29:33 +10:00
Erik Hollensbe 9e69a042c5 Fix docker cp trying to untar files that do not exist.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <erik@hollensbe.org> (github: erikh)
2014-03-16 17:48:46 +00:00
Erik Hollensbe e32965dbb1 In docker ps, sort by port instead of unsorted.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <erik@hollensbe.org> (github: erikh)
2014-03-16 16:28:44 +00:00
Vladimir Rutsky 65051f4215 Fix external link on security of containers
Docker-DCO-1.1-Signed-off-by: Vladimir Rutsky <altsysrq@gmail.com> (github: rutsky)
2014-03-16 18:36:15 +04:00
Sven Dowideit 7a7126faf6 Merge pull request #4687 from zqhxuyuan/patch-1
Update epel.rpm's new url
2014-03-16 08:14:18 +10:00
Tianon Gravi 054b85a7b2 Add proper support for relative WORKDIR instructions
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-15 14:03:16 -06:00
zqh 853c5e258f Update nodejs_web_app.rst
the address of epel rpm has change to http://dl.fedoraproject....
2014-03-16 01:07:22 +08:00
Paul Nasrat 5583774e29 Fix spelling of benchmark test
Docker-DCO-1.1-Signed-off-by: Paul Nasrat <pnasrat@gmail.com> (github: pnasrat)
2014-03-15 11:38:31 -04:00
Guillaume J. Charmes f9090567af Merge pull request #4676 from crosbymichael/no-sig-kill
Send sigterm to child instead of sigkill
2014-03-14 16:44:08 -07:00
Tianon Gravi 2ba0861ad3 Add Sam's Go "dockerclient" to the list of Client Libraries
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-14 17:20:22 -06:00
Guillaume J. Charmes 75738b8527 Merge pull request #4673 from vieux/update_test_TestCreateRmRunning
update TestCreateRmRunning
2014-03-14 15:50:27 -07:00
Sven Dowideit 5fd2de9792 Merge pull request #4679 from metalivedev/updateimages
Update images to remove references to AUFS, LXC
2014-03-15 08:45:37 +10:00
Michael Crosby 39037a91f8 Send sigterm to child instead of sigkill
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-14 15:42:05 -07:00
Andy Rothfusz 8c2cbfa096 Add parent reference arrow.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
2014-03-14 14:48:13 -07:00
Andy Rothfusz 50b12708e3 Updating base svg to remove references to aufs and lxc.
Exported new png's from layers.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
2014-03-14 14:37:09 -07:00
Victor Vieux 6a058540fe Merge pull request #4647 from vieux/fix_registry_tests
use mock for search
2014-03-14 14:34:44 -07:00
unclejack 2c10fcc432 Merge pull request #4593 from crosbymichael/move-server
Move server and buildfile into server pkg
2014-03-14 22:51:50 +02:00
Victor Vieux 123ebf9053 update TestCreateRmRunning
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-14 18:16:14 +00:00
Victor Vieux a41f6d9367 update godoc and add MAINTAINERS for mflags
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-14 17:35:41 +00:00
Michael Crosby 0e863a584a Add stderr log ouput if in debug
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-14 09:55:05 -07:00
Michael Crosby 7294392c72 Add initial logging to libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-14 09:55:05 -07:00
Michael Crosby 8cf0b80a78 Update integration tests for server pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-14 09:46:56 -07:00
Michael Crosby 5239aa1f11 Move server and buildfile into server pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-14 09:37:08 -07:00
unclejack 5c6d54073f Merge pull request #4660 from vieux/parsecommand
create the cli obj before calling parseCommand
2014-03-14 17:36:40 +02:00
unclejack 28a9ff7f25 Merge pull request #4653 from creack/fix_expose_cache
Fix expose cache
2014-03-14 16:09:13 +02:00
James Turnbull e1c54f6cb9 Merge pull request #4664 from tianon/fix-sphinx-warnings
Fix sphinx warnings
2014-03-14 09:21:44 -04:00
Tianon Gravi ae47f709ca Make sphinx warnings fatal in Travis
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-13 22:35:31 -06:00
Tianon Gravi f6efcf2094 Fix sphinx header underline warnings I introduced...
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-13 22:35:09 -06:00
Victor Vieux c349c9d14a create the cli obj before calling parseCommand
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-14 00:47:13 +00:00
Victor Vieux 9c21a73f74 Merge pull request #4659 from creack/more_info
Have the exec driver and kernel version in non-debug mode in `docker info`
2014-03-13 17:32:42 -07:00
Victor Vieux 400ae98d23 Merge pull request #4633 from crosbymichael/no-pid-kill
Don't kill by pid for other drivers
2014-03-13 17:31:37 -07:00
Guillaume J. Charmes 7b89af2a08 Add unit test for expose cache
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-13 17:06:17 -07:00
Guillaume J. Charmes 6411ee6d24 Have the exec driver and kernel version in non-debug mode in docker info
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-13 16:28:16 -07:00
Michael Crosby c0cef47b1e Merge pull request #4658 from vieux/fix_display_build
fix build output
2014-03-13 15:34:17 -07:00
Victor Vieux 212a870734 Merge pull request #4646 from tianon/double-dash
Update to double-dash everywhere
2014-03-13 15:31:14 -07:00
Victor Vieux 03f0ec35ae as you could have multiple messages per line with streams, don't \r
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-13 22:26:42 +00:00
Guillaume J. Charmes f88f232f53 Merge pull request #4657 from crosbymichael/update-libcontainer-docs
Update libcontainer readme and todo list
2014-03-13 15:19:29 -07:00
Michael Crosby cbd2a30cd6 Update libcontainer readme and todo list
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-13 15:18:08 -07:00
Michael Crosby 3fa99b35b0 Don't kill by pid for other drivers
Closes #4575
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-13 15:04:23 -07:00
Michael Crosby 28994f86ee Merge pull request #4656 from crosbymichael/fix-ptmx-link
Always symlink /dev/ptmx for libcontainer
2014-03-13 14:57:17 -07:00
Guillaume J. Charmes c7ea6e5da8 Merge pull request #4422 from alexlarsson/internal-mounts
Move all bind-mounts in the container inside the namespace
2014-03-13 14:55:29 -07:00
Michael Crosby 747275d30c Always symlink /dev/ptmx for libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-13 14:31:09 -07:00
Victor Vieux 192917a1cb Merge pull request #4624 from creack/fix_apparmor_init
Fix issue when /etc/apparmor.d does not exists
2014-03-13 14:04:13 -07:00
Guillaume J. Charmes ab26c16b32 Fix EXPOSE cache miss issue
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-13 13:58:09 -07:00
Tianon Gravi af58923847 Merge pull request #4649 from cglewis/release_add_breakathon
Add a "breakathon" for a testing/QA period to the release checklist
2014-03-13 13:43:37 -06:00
Charlie Lewis 6fc83eefd9 add a breakathon for testing
Docker-DCO-1.1-Signed-off-by: Charlie Lewis <charliel@lab41.org> (github: cglewis)
2014-03-13 12:39:24 -07:00
Michael Crosby 89d2e14ed0 Merge pull request #4648 from creack/fix_raw_mode_darwin
Use BSD raw mode on darwin. Fixes nano, tmux and others
2014-03-13 12:15:50 -07:00
Alexander Larsson bf1b27dfcc Don't use separate bind mount for container
Since we're not not mounting anything but the base filesystem outside
the container we no longer need the separate bind mount at
/var/lib/docker/container/$id/root in order to see the base filesystem
without extra mounts. So, we drop this and mount (again) the container
root directly at the real basefs mountpoint.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-13 20:08:29 +01:00
Alexander Larsson 6c266c4b42 Move all bind-mounts in the container inside the namespace
This moves the bind mounts like /.dockerinit, /etc/hostname, volumes,
etc into the container namespace, by setting them up using lxc.

This is useful to avoid littering the global namespace with a lot of
mounts that are internal to each container and are not generally
needed on the outside. In particular, it seems that having a lot of
mounts is problematic wrt scaling to a lot of containers on systems
where the root filesystem is mounted --rshared.

Note that the "private" option is only supported by the native driver, as
lxc doesn't support setting this. This is not a huge problem, but it does
mean that some mounts are unnecessarily shared inside the container if you're
using the lxc driver.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-13 20:01:29 +01:00
Alexander Larsson 636959e20a Move .dockerenv parsing to lxc driver
This is not needed for e.g. the native driver

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-13 20:01:29 +01:00
Guillaume J. Charmes 029aac9639 Use BSD raw mode on darwin. Fixes nano, tmux and others
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-13 11:11:02 -07:00
Victor Vieux 6ac6619a1e Merge pull request #4387 from unclejack/multiple_metadata_retrieval_attempts
retry to retrieve layer metadata on failure during pull
2014-03-13 11:03:52 -07:00
Tianon Gravi 44fe8cbbd1 Update to double-dash everywhere
These were found using `git grep -nE '[^-a-zA-Z0-9<>]-[a-zA-Z0-9]{2}'` (fair warning: _many_ false positives there).

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-13 11:46:02 -06:00
Victor Vieux 9a0d7fe018 use mock for search
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-13 17:40:34 +00:00
Sven Dowideit 51a46e6a4f Merge pull request #4638 from ichik1/cli-doc-minor-fix
Some minor fixes for cli docs
2014-03-13 20:11:10 +10:00
James Turnbull 0e871edfeb Merge pull request #4636 from phillipalexander/fix-license
Fix boilerplate text in Apache license
2014-03-13 02:42:56 -04:00
Phillip Alexander 73596b00e0 Fix boilerplate text in Apache license
This commit updates the Apache license boilerplate with actual information. The Apache license appendix (designed to be removed before publication) states:

```
APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!)...
```

Additionally, the copyright year was not included. Copyright notices must reflect the current year. This commit updates the listed year to 2014.

see: http://www.copyright.gov/circs/circ01.pdf for more info

Docker-DCO-1.1-Signed-off-by: Phillip Alexander <git@phillipalexander.io> (github: phillipalexander)
2014-03-12 23:39:36 -07:00
Ken ICHIKAWA 841fcad0ba Add missing options -t and -v to images subcommand doc
Docker-DCO-1.1-Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com> (github: ichik1)
2014-03-13 15:19:42 +09:00
Ken ICHIKAWA 471aa870f5 Remove duplicated description of --mtu
commit baa70e9751 duplicates
the description of --mtu.
This patch removes the duplicated description.

Docker-DCO-1.1-Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com> (github: ichik1)
2014-03-13 14:18:13 +09:00
Guillaume J. Charmes c7564b5e4d Merge pull request #4612 from tianon/cleaner-test-output
Cleaner test output
2014-03-12 17:54:14 -07:00
Guillaume J. Charmes db1afee3f0 Merge pull request #4000 from cap10morgan/1141-merge-configs-on-commit
merge existing config when committing
2014-03-12 17:49:11 -07:00
Sven Dowideit 94f2d52405 Merge pull request #4619 from dgageot/patch-1
Update port_redirection.rst
2014-03-13 09:31:16 +10:00
Guillaume J. Charmes 8e0a4802ab Merge pull request #4492 from ichik1/add-ip-forward-to-docs
Update daemon docs for --ip-forward
2014-03-12 16:29:33 -07:00
Guillaume J. Charmes 6a325f1c7a Fix issue when /etc/apparmor.d does not exists
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-12 11:13:24 -07:00
Victor Vieux bd1c512594 Merge pull request #4621 from unclejack/fix_empty_cidfile
don't leave empty CIDFile behind
2014-03-12 11:12:51 -07:00
unclejack a56d1b93a1 don't leave empty cidFile behind
This makes `--cidfile` clean up empty container ID files. These are
left behind when creating the container fails.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-12 19:36:19 +02:00
Michael Crosby 63dee4ebc4 Merge pull request #4604 from vieux/improve_deprecation_warning_flags
improve deprecation message
2014-03-12 10:18:49 -07:00
Michael Crosby ba49f5bce1 Merge pull request #4603 from creack/fix_osx_attach
Fix OSX attach exit issue
2014-03-12 10:08:55 -07:00
David Gageot 2a5e1abaa9 Update port_redirection.rst
Fix flags
2014-03-12 15:42:10 +01:00
Sven Dowideit 2ad16c88e2 Merge pull request #4526 from Rovanion/master
All caps variables in normal bash should be avoided not to accidentally collide with environment variables.
2014-03-12 22:24:00 +10:00
James Turnbull a5fa161ff8 Merge pull request #4143 from SvenDowideit/apt-cacher-example
Show some ENV / local updated baseimage tricks that use an apt-cacher-ng...
2014-03-12 08:20:42 -04:00
unclejack 2cfcf42d50 retry to retrieve metadata on failure during pull
This makes Docker retry to retrieve the JSON metadata for the layers.
Docker will make 5 attempts to retrieve the metadata before failing and
it will increase the delay between attempts after each failed attempt.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-12 14:05:43 +02:00
Sven Dowideit 8bf63d5326 fixes suggested by James
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-12 22:02:24 +10:00
Tianon Gravi 99b6364790 Exclude more "definitely not unit tested Go source code" directories from hack/make/test
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-12 01:18:12 -06:00
Tianon Gravi e1c48fa560 Clean up the "go test" output from "make test" to be much more readable/scannable
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-12 01:17:38 -06:00
Ken ICHIKAWA b7ae9984fb Update daemon docs and help messages for --iptables and --ip-forward
Fix docs and help messages of --iptables and --ip-forward to describe the true case behaviour

Docker-DCO-1.1-Signed-off-by: Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com> (github: ichik1)
2014-03-12 13:50:03 +09:00
Tianon Gravi f544ebd55a Merge pull request #4574 from tianon/fix-cgroup-hax
Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount...
2014-03-11 22:21:01 -06:00
Vincent Batts 2b855afaee registry: Info collection
roll version and standalone information into the _ping. And to support
Headers they are checked after the JSON is loaded (if there is anything
to load). To stay backwards compatible, if the _ping contents are not
able to unmarshal to RegistryInfo, do not stop, but continue with the
same behavior.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-11 23:36:51 -04:00
Sven Dowideit bf009b530e Merge pull request #4541 from scollier/master
Adding the new options to the `docker ps` documentation.
2014-03-12 11:36:12 +10:00
Scott Collier fbf74eb079 Removing HEAD tag from last commit
Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
2014-03-11 20:00:16 -05:00
Scott Collier 7178b285a3 Adding CLI options to the commandline reference documentation.
Fixing bad DCO sig

URLs of pages are:
http://docs.docker.io/en/latest/reference/commandline/cli/

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
2014-03-11 19:54:48 -05:00
Victor Vieux f0eb227548 improve deprecation message
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-12 00:51:46 +00:00
Scott Collier baa70e9751 Adding the new options to the docker ps documentation.
URL of documentation page is: http://docs.docker.io/en/latest/reference/commandline/cli/#ps

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)

Adding the new options to the `docker ps` documentation.

URL of documentation page is: http://docs.docker.io/en/latest/reference/commandline/cli/#ps

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)

Adding CLI options to the commandline reference documentation.

URLs of pages are:
http://docs.docker.io/en/latest/reference/commandline/cli/

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)

changing indention

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
2014-03-11 19:51:30 -05:00
Guillaume J. Charmes 95e5910ab2 Fix attach exit on darwin
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-11 17:51:29 -07:00
Victor Vieux f9fde52a07 Merge pull request #4598 from creack/fix_lxc
Fix lxc
2014-03-11 17:17:54 -07:00
Tianon Gravi 7b79f597f6 Merge pull request #4521 from tianon/release-checklist-origin
Note within the RELEASE-CHECKLIST that "origin" is assumed to be upstream
2014-03-11 14:34:47 -06:00
Michael Crosby b55a79aa1c Merge pull request #4504 from alexlarsson/devicemapper-waits
devmapper: Increase sleep times and unlock while sleeping
2014-03-11 13:17:53 -07:00
Guillaume J. Charmes fd0737df2c Update parseLxcInfo to comply with new lxc1.0 format
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-11 12:08:32 -07:00
Guillaume J. Charmes 721562f296 Remove goroutine leak upon error
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-11 11:39:28 -07:00
Victor Vieux 3715f46b8b Merge pull request #4491 from crosbymichael/add-pull-dep
Add deprecation warning for -t on pull
2014-03-11 10:22:06 -07:00
Victor Vieux 0a6d9035cf Merge pull request #4589 from creack/update_maintainer
Update MAINTAINER email + add self to pkg/signal MAINTAINER
2014-03-11 10:18:37 -07:00
Guillaume J. Charmes 7654bac442 Merge pull request #4466 from alexlarsson/execdrivers
Move execdriver construction into execdriver/execdrivers
2014-03-11 10:14:20 -07:00
Michael Crosby 15e52ccaad Add deprecation warning for -t on pull
Closes #3410
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-11 10:11:05 -07:00
Guillaume J. Charmes af3ff044a2 Merge pull request #4499 from alexlarsson/fix-remove-fail
DeviceMapper: Succeed immediately when removing non-existant devices
2014-03-11 10:09:58 -07:00
Guillaume J. Charmes 6169dafab3 Merge pull request #4569 from dolph/master
spelling correction
2014-03-11 09:19:46 -07:00
Guillaume J. Charmes 037f942a0b Merge pull request #4583 from kzys/freebsd-signal
Like signal_linux.go, we don't have import os and os/signal
2014-03-11 09:01:39 -07:00
Alexander Larsson 07c35b41a5 Move execdriver construction into execdriver/execdrivers
This can't be in execdriver (dependency loop) but should not be
hardcoded inside runtime.go either. So we put it in a subpackage.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-11 16:37:19 +01:00
Kato Kazuyoshi b2cd89056f Like signal_linux.go, we don't have import os and os/signal
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
2014-03-11 23:14:58 +09:00
Vincent Batts 2a2c694758 registry: make certain headers optional
For a pull-only, static registry, there only a couple of headers that
need to be optional (that are presently required.
* X-Docker-Registry-Version
* X-Docker-Size
* X-Docker-Endpoints

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
2014-03-11 10:08:44 -04:00
James Turnbull e50a5fcb0d Merge pull request #4577 from SvenDowideit/moltar-perl-modules
add Net::Docker CPAN module
2014-03-11 09:37:44 -04:00
Sven Dowideit b348ee0fd0 add Net::Docker CPAN module
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-11 20:28:26 +10:00
Tianon Gravi 76dc670f41 Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-11 01:40:31 -06:00
Tianon Gravi b21f8872cc Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-11 01:39:06 -06:00
Guillaume J. Charmes 915d967f55 Update email + add self to pkg/signal
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 20:26:45 -07:00
Dolph Mathews 18ea183ea0 spelling correction
s/singal/signal/

Docker-DCO-1.1-Signed-off-by: Dolph Mathews <dolph.mathews@gmail.com> (github: dolph)
2014-03-10 22:17:03 -05:00
Victor Vieux 0d6275b298 if client has no git, use server
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-11 01:23:14 +00:00
Victor Vieux 8301fc8e56 move git clone from daemon to client
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)

add a little doc
2014-03-11 01:23:14 +00:00
Michael Crosby b5a544b02e Merge pull request #4563 from creack/signal-improvment
Signal improvments
2014-03-10 17:59:17 -07:00
Tianon Gravi ce09171780 Merge pull request #4520 from tianon/clarify-docs-branch-update
Clarify how to update the docs branch in the RELEASE-CHECKLIST with concrete instructions
2014-03-10 18:47:31 -06:00
Victor Vieux 7fc4cc0759 Merge pull request #4567 from creack/merge_auth_registry
Merge auth package within registry
2014-03-10 17:45:56 -07:00
Michael Crosby 923962a4b5 Merge pull request #4515 from vieux/improve_sort_flags
improve alpha sort in mflag
2014-03-10 17:45:41 -07:00
Guillaume J. Charmes 157f24ca77 Make docker use the signal pkg with strings
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 17:36:47 -07:00
Guillaume J. Charmes 10dc16dcd3 Create portable signalMap
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 17:36:41 -07:00
Guillaume J. Charmes c563262239 Move signal to pkg
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 17:36:32 -07:00
Michael Crosby 0b8cd3ec8e Merge pull request #4566 from srid/nsinit_uniq_errors
nsinit: prefix errors with their source
2014-03-10 17:26:17 -07:00
Guillaume J. Charmes 8d88ea0c15 Merge auth package within registry
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 17:16:58 -07:00
srid 03211ecce0 nsinit: prefix errors with their source
Docker-DCO-1.1-Signed-off-by: Sridhar Ratnakumar <github@srid.name> (github: srid)
2014-03-10 17:08:50 -07:00
Michael Crosby bc513c5afb Merge pull request #4564 from vieux/remove_unused_version
Remove unused version.go
2014-03-10 17:06:30 -07:00
Michael Crosby ca3369dc8d Merge pull request #4440 from infoxchange/aufs-permissions-4068
Create directories for tar files with relaxed permissions
2014-03-10 16:50:17 -07:00
unclejack 8bcb156694 Merge pull request #3985 from creack/add_freebsd_support
Add freebsd client support
2014-03-11 00:58:30 +02:00
Guillaume J. Charmes 3c25302a0b Update vendor.sh with new kr/pty revision
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
2014-03-10 15:34:38 -07:00
Guillaume J. Charmes 6ccfb7fb9a Update bsd specs
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
2014-03-10 15:19:08 -07:00
Guillaume J. Charmes 802407a099 Update vendor for kr/pty
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
2014-03-10 15:18:54 -07:00
Victor Vieux 6f70ed3a74 remove useless lock
move job to server and remove version.go

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-10 22:14:37 +00:00
Michael Crosby 3c7206b991 Merge pull request #4562 from vieux/remove_utils_in_docker_package
Remove utils in docker package
2014-03-10 14:27:13 -07:00
Guillaume J. Charmes 51b137f09e Merge pull request #4561 from crosbymichael/merge_release_v0.9.0
Merge release v0.9.0
2014-03-10 14:24:25 -07:00
Victor Vieux fde5f573d3 move opts out of pkg because it's related to docker
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-10 21:10:23 +00:00
Michael Crosby d7646f934a Change version to v0.9.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-10 14:08:26 -07:00
Michael Crosby 71c65193e0 Merge branch 'release' into merge_release_v0.9.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-10 14:08:17 -07:00
Victor Vieux d648708d02 remove utils.go
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-10 21:06:27 +00:00
unclejack 52c258c5cf Merge pull request #4538 from crosbymichael/move-runtime
Move runtime into sub package
2014-03-10 22:52:32 +02:00
Guillaume J. Charmes 4fa8d0794e Merge pull request #4542 from fabiofalci/remove_manual_cookie
Remove manual http cookie management
2014-03-10 13:51:02 -07:00
unclejack 9bfbc7e648 Merge pull request #4560 from vieux/move_unit_test
move a unit test file
2014-03-10 22:45:41 +02:00
Victor Vieux 0ebf5d0ab3 move a unit test file
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-10 20:24:15 +00:00
Guillaume J. Charmes bb43761940 Merge branch 'master' into add_freebsd_support
Conflicts:
	archive/archive.go
	archive/start_unsupported.go
2014-03-10 13:20:49 -07:00
James Turnbull 2b1244fc0d Merge pull request #4559 from metalivedev/unmaintainer
Removing myself from doc maintainers
2014-03-10 15:59:50 -04:00
Andy Rothfusz 3e4d0857bf Removing myself from doc maintainers due to other obligations eliminating time to maintain docs.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
2014-03-10 12:55:26 -07:00
Michael Crosby 143c9707a9 Merge pull request #4489 from crosbymichael/bump_v0.9.0
Bump to version 0.9.0
2014-03-10 10:04:33 -07:00
Tianon Gravi 211fc574a1 Merge pull request #4545 from tianon/update-packaging-and-init
Fix a few packaging bugs, including and especially a temporary patch to our upstart script to mount cgroups
2014-03-10 10:52:45 -06:00
Tianon Gravi 50082f792b Fix a few packaging bugs, including and especially a temporary patch to our upstart script to mount cgroups properly
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-10 03:27:46 -06:00
Michael Crosby 47edf3e8bf Add IsRunning to server interface
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-09 23:16:15 -07:00
Michael Crosby 36c3614fdd Move runtime and container into sub pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-09 23:03:40 -07:00
Michael Crosby 01b6b2be73 Move graph and tags to graph sub pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-09 22:59:29 -07:00
Michael Crosby 82a5439835 Move image into sub pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-09 22:59:29 -07:00
Michael Crosby 12bd83182d Move daemon config into sub pkg
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-03-09 22:59:28 -07:00
Rovanion Luckey b24be254fa All caps variables in normal bash should be avoided not to accidentally collide with environment variables.
Docker-DCO-1.1-Signed-off-by: Rovanion Luckey <rovanion.luckey@gmail.com> (github: Rovanion)
2014-03-09 11:08:11 +01:00
Fabio Falci df9b99aca0 Remove manual http cookie management
Since docker uses cookiejar it doesn't need to manage cookies manually
anymore.
Managing cookie was duplicating it.

Docker-DCO-1.1-Signed-off-by: Fabio Falci <fabiofalci@gmail.com> (github: fabiofalci)
2014-03-09 02:25:19 +00:00
Sven Dowideit d9f47c41c3 Merge pull request #4508 from walterl/patch-1
Fixed installmirrors ref
2014-03-09 10:15:47 +10:00
Scott Collier 694c8e7dfc Adding options to docker restart documentation
URL of page is: http://docs.docker.io/en/latest/reference/commandline/cli/#restart

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
2014-03-08 17:23:06 -06:00
Johannes 'fish' Ziemke c000cb6471 Add authenticated TLS support for API
Docker-DCO-1.1-Signed-off-by: Johannes 'fish' Ziemke <github@freigeist.org> (github: discordianfish)
2014-03-09 00:06:44 +01:00
James Turnbull 198f8d7884 Merge pull request #4528 from tomfotherby/patch-1
Correct Docker run --host param to --hostname
2014-03-08 17:53:55 -05:00
Scott Collier 59acb8c83d Adding the new options to the docker ps documentation.
URL of documentation page is: http://docs.docker.io/en/latest/reference/commandline/cli/#ps

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
2014-03-08 16:32:00 -06:00
Tianon Gravi 68217729a3 Merge pull request #4540 from unclejack/debootstrap_upgrade_packages
Run dist-upgrade after repo updates in mkimage-debootstrap
2014-03-08 10:10:11 -07:00
unclejack d04f4d836c upgrade packages after debootstrap
This makes mkimage-debootstrap upgrade packages after retrieving
updated lists of packages.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-03-08 18:41:50 +02:00
unclejack a5c6e08bd6 Merge pull request #4535 from vieux/fix_string_command
fix string in docker images
2014-03-08 17:02:25 +02:00
Victor Vieux 7da37fec13 handle capital
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-07 23:40:45 +00:00
Victor Vieux bc086a9cd6 fix string in docker images
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-07 20:07:17 +00:00
Tom Fotherby d61938d2b8 Correct Docker run --host param to --hostname 2014-03-07 16:41:11 +00:00
Tianon Gravi 661cf32e4f Note within the RELEASE-CHECKLIST that "origin" is assumed to be upstream
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-06 23:29:08 -07:00
Tianon Gravi 0a819380c5 Clarify how to update the docs branch in the RELEASE-CHECKLIST with concrete instructions
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-06 23:16:26 -07:00
Tianon Gravi aceb10b1e5 Resync the DCO text with upstream at http://developercertificate.org/
```
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
```

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-03-06 22:32:58 -07:00
Victor Vieux 3729ece2ea improve alpha sort in mflag
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
2014-03-07 02:20:59 +00:00
Walter Leibbrandt 188dea9e0e Fixed installmirrors ref
Nested inline markup is not (yet) possible: http://stackoverflow.com/a/9645684
2014-03-06 23:33:08 +02:00
Alexander Larsson 81f148be56 devmapper: Increase sleep times and unlock while sleeping
We've seen some cases in the wild where waiting for unmount/deactivate
of devmapper devices taking a long time (several seconds). So, we increase
the sleeps to 10 seconds before we timeout. For instance:

https://github.com/dotcloud/docker/issues/4389

But, in order to not keep other processes blocked we unlock the global
dm lock while waiting to allow other devices to continue working.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-06 18:36:08 +01:00
Alexander Larsson 3e8a02a939 devmapper: Add per-device lock
We currently use a global lock to protect global data (like the
Devices map) as well as device data itself and access to
(non-threadsafe) libdevmapper.

This commit also adds a per-device lock, which will allow per-device
operations to temporarily release the global lock while e.g. waiting.
The per-device lock will make sure that nothing else accesses that
device while we're operating on it.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-06 18:36:03 +01:00
Alexander Larsson 1cdd775f5d DeviceMapper: Succeed immediately when removing non-existant devices
We've seen situations where removal of "ID-init" failed during
container deletion (EBUSY), after removal of "ID" has succeeded. This
caused the container delete operation to fail, and on the next delete
attempt the removal of "ID" failed immediately with "does not exist".

Ideally we should not fail the ID-init removal, but its also non-ideal
to allow a state where the container is half-removed and we cannot
make progress deleting the container. So, we silently ignore not-exist
errors on device removal.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-03-06 15:12:09 +01:00
Sven Dowideit cadd94f44c implement pharvey's suggestions
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-03-05 13:12:29 +10:00
Sven Dowideit 28a545d294 Show some ENV / local updated baseimage tricks that use an apt-cacher-ng proxy to make debian based installations instant
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@fosiki.com> (github: SvenDowideit)
2014-03-05 13:12:25 +10:00
Alexey Kotlyarov 2aeccdd3bb Create directories for tar files with relaxed permissions
Docker-DCO-1.1-Signed-off-by: Alexey Kotlyarov <alexey@infoxchange.net.au> (github: koterpillar)
2014-03-04 16:15:52 +11:00
Darren Shepherd b39d02b611 Support hairpin NAT without going through docker server
Hairpin NAT is currently done by passing through the docker server.  If
two containers on the same box try to access each other through exposed
ports and using the host IP the current iptables rules will not match the
DNAT and thus the traffic goes to 'docker -d'

This change drops the restriction that DNAT traffic must not originate
from docker0.  It should be safe to drop this restriction because the
DOCKER chain is already gated by jumps that check for the destination
address to be a local address.

Docker-DCO-1.1-Signed-off-by: Darren Shepherd <darren.s.shepherd@gmail.com> (github: ibuildthecloud)
2014-03-03 21:53:57 -07:00
Wes Morgan 3b969aad4a merge existing config when committing
Fixes #1141

Docker-DCO-1.1-Signed-off-by: Wes Morgan <cap10morgan@gmail.com> (github: cap10morgan)
2014-02-28 15:27:05 -07:00
Guillaume J. Charmes 547ac42199 Add Freebsd client support
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
2014-02-06 16:40:39 -08:00
Guillaume J. Charmes e8740685ce Remove linux specific calls
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
2014-02-06 14:13:03 -08:00
1145 changed files with 102813 additions and 44219 deletions
+2
View File
@@ -0,0 +1,2 @@
bundles
.gopath
+4
View File
@@ -23,3 +23,7 @@ bundles/
vendor/pkg/
pyenv
Vagrantfile
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
docs/VERSION
docs/GITCOMMIT
+29 -9
View File
@@ -6,14 +6,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 +25,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>
@@ -54,7 +55,26 @@ Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
<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>
+2 -14
View File
@@ -10,21 +10,9 @@ install: true
before_script:
- env | sort
- sudo apt-get update -qq
- sudo apt-get install -qq python-yaml
- git remote add upstream git://github.com/dotcloud/docker.git
- upstream=master;
if [ "$TRAVIS_PULL_REQUEST" != false ]; then
upstream=$TRAVIS_BRANCH;
fi;
git fetch --append --no-tags upstream refs/heads/$upstream:refs/remotes/upstream/$upstream
# sometimes we have upstream master already as origin/master (PRs), but other times we don't, so let's just make sure we have a completely unambiguous way to specify "upstream master" from here out
# but if it's a PR against non-master, we need that upstream branch instead :)
- sudo pip install -r docs/requirements.txt
script:
- hack/travis/dco.py
- hack/travis/gofmt.py
- make -sC docs SPHINXOPTS=-q docs man
- hack/make.sh validate-dco
- hack/make.sh validate-gofmt
# vim:set sw=2 ts=2:
+123 -13
View File
@@ -1,54 +1,78 @@
# 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 `.mailmap`.
Aanand Prasad <aanand.prasad@gmail.com>
Aaron Feng <aaron.feng@gmail.com>
Aaron Huslage <huslage@gmail.com>
Abel Muiño <amuino@gmail.com>
Adam Miller <admiller@redhat.com>
Adam Singer <financeCoding@gmail.com>
Aditya <aditya@netroy.in>
Adrian Mouat <adrian.mouat@gmail.com>
alambike <alambike@gmail.com>
Aleksa Sarai <cyphar@cyphar.com>
Alexander Larsson <alexl@redhat.com>
Alexandr Morozov <lk4d4math@gmail.com>
Alexey Kotlyarov <alexey@infoxchange.net.au>
Alexey Shamrin <shamrin@gmail.com>
Alex Gaynor <alex.gaynor@gmail.com>
Alexis THOMAS <fr.alexisthomas@gmail.com>
almoehi <almoehi@users.noreply.github.com>
Al Tobey <al@ooyala.com>
amangoel <amangoel@gmail.com>
Andrea Luzzardi <aluzzardi@gmail.com>
Andreas Savvides <andreas@editd.com>
Andreas Tiefenthaler <at@an-ti.eu>
Andrea Turli <andrea.turli@gmail.com>
Andrew Duckworth <grillopress@gmail.com>
Andrew Macgregor <andrew.macgregor@agworld.com.au>
Andrew Munsell <andrew@wizardapps.net>
Andrews Medina <andrewsmedina@gmail.com>
Andrew Williams <williams.andrew@gmail.com>
Andy Chambers <anchambers@paypal.com>
andy diller <dillera@gmail.com>
Andy Goldstein <agoldste@redhat.com>
Andy Kipp <andy@rstudio.com>
Andy Rothfusz <github@metaliveblog.com>
Andy Smith <github@anarkystic.com>
Anthony Bishopric <git@anthonybishopric.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>
Benjamin Atkin <ben@benatkin.com>
Benoit Chesneau <bchesneau@gmail.com>
Ben Sargent <ben@brokendigits.com>
Ben Toews <mastahyeti@gmail.com>
Ben Wiklund <ben@daisyowl.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>
Brandon Liu <bdon@bdon.org>
Brandon Philips <brandon@ifup.org>
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>
Briehan Lombaard <briehan.lombaard@gmail.com>
Bruno Bigras <bigras.bruno@gmail.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>
Chia-liang Kao <clkao@clkao.org>
Chris St. Pierre <chris.a.st.pierre@gmail.com>
Christopher Currie <codemonkey+github@gmail.com>
@@ -59,6 +83,7 @@ Colin Dunklau <colin.dunklau@gmail.com>
Colin Rice <colin@daedrum.net>
Cory Forsyth <cory.forsyth@gmail.com>
cressie176 <github@stephen-cresswell.net>
Dafydd Crosby <dtcrsby@gmail.com>
Dan Buch <d.buch@modcloth.com>
Dan Hirsch <thequux@upstandinghackers.com>
Daniel Exner <dex@dragonslave.de>
@@ -70,30 +95,45 @@ Daniel Nordberg <dnordberg@gmail.com>
Daniel Robinson <gottagetmac@gmail.com>
Daniel Von Fange <daniel@leancoder.com>
Daniel YC Lin <dlin.tw@gmail.com>
Dan Keder <dan.keder@gmail.com>
Dan McPherson <dmcphers@redhat.com>
Danny Berger <dpb587@gmail.com>
Danny Yates <danny@codeaholics.org>
Dan Stine <sw@stinemail.com>
Dan Walsh <dwalsh@redhat.com>
Dan Williams <me@deedubs.com>
Darren Coxall <darren@darrencoxall.com>
Darren Shepherd <darren.s.shepherd@gmail.com>
David Anderson <dave@natulte.net>
David Calavera <david.calavera@gmail.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>
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>
Dr Nic Williams <drnicwilliams@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>
Erik Hollensbe <erik+github@hollensbe.org>
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>
@@ -104,6 +144,7 @@ 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>
Francisco Souza <f@souza.cc>
@@ -115,8 +156,11 @@ Gabe Rosenhouse <gabe@missionst.com>
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>
Goffert van Gool <goffert@phusion.nl>
Graydon Hoare <graydon@pobox.com>
Greg Thornton <xdissent@me.com>
grunny <mwgrunny@gmail.com>
@@ -125,28 +169,40 @@ Gurjeet Singh <gurjeet@singh.im>
Guruprasad <lgp171188@gmail.com>
Harley Laue <losinggeneration@gmail.com>
Hector Castro <hectcastro@gmail.com>
Hobofan <goisser94@gmail.com>
Hunter Blanks <hunter@twilio.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>
Jack Danger Canty <jackdanger@squareup.com>
jakedt <jake@devtable.com>
Jake Moshenko <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 Mills <prologic@shortcircuit.net.au>
James Turnbull <james@lovedthanlost.net>
jaseg <jaseg@jaseg.net>
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>
Jeremy Grosser <jeremy@synack.me>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com>
Jesse Dubay <jesse@thefortytwo.net>
Jilles Oldenbeuving <ojilles@gmail.com>
Jim Alateras <jima@comware.com.au>
Jimmy Cuadra <jimmy@jimmycuadra.com>
Joe Beda <joe.github@bedafamily.com>
Joel Handwell <joelhandwell@gmail.com>
Joe Shaw <joe@joeshaw.org>
Joe Van Dyk <joe@tanga.com>
Joffrey F <joffrey@dotcloud.com>
Joffrey F <joffrey@docker.com>
Johan Euphrosine <proppy@google.com>
Johannes 'fish' Ziemke <github@freigeist.org>
Johan Rydberg <johan.rydberg@gmail.com>
@@ -155,7 +211,9 @@ John Feminella <jxf@jxf.me>
John Gardiner Myers <jgmyers@proofpoint.com>
John Warwick <jwarwick@gmail.com>
Jonas Pfenniger <jonas@pfenniger.name>
Jonathan McCrohan <jmccrohan@gmail.com>
Jonathan Mueller <j.mueller@apoveda.ch>
Jonathan Pares <jonathanpa@users.noreply.github.com>
Jonathan Rudenberg <jonathan@titanous.com>
Jon Wedaman <jweede@gmail.com>
Joost Cassee <joost@cassee.net>
@@ -170,13 +228,18 @@ Julien Barbier <write0@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>
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 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>
Kim BKC Carlbacker <kim.carlbacker@gmail.com>
@@ -184,14 +247,20 @@ Kimbro Staken <kstaken@kstaken.com>
Kiran Gangadharan <kiran.daredevil@gmail.com>
Konstantin Pelykh <kpelykh@zettaset.com>
Kyle Conroy <kyle.j.conroy@gmail.com>
lalyos <lalyos@yahoo.com>
Lance Chen <cyen0312@gmail.com>
Lars R. Damerow <lars@pixar.com>
Laurie Voss <github@seldo.com>
Lewis Peckover <lew+github@lew.io>
Liang-Chi Hsieh <viirya@gmail.com>
Lokesh Mandvekar <lsm5@redhat.com>
Louis Opter <kalessin@kalessin.fr>
lukaspustina <lukas.pustina@centerdevice.com>
lukemarsden <luke@digital-crocus.com>
Mahesh Tiyyagura <tmahesh@gmail.com>
Manuel Meurer <manuel@krautcomputing.com>
Manuel Woelker <github@manuel.woelker.org>
Marc Abramowitz <marc@marc-abramowitz.com>
Marc Kuo <kuomarc2@gmail.com>
Marco Hennings <marco.hennings@freiheit.com>
Marcus Farkas <toothlessgear@finitebox.com>
@@ -203,23 +272,32 @@ 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 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>
Maxim Treskin <zerthurd@gmail.com>
Max Shytikov <mshytikov@gmail.com>
meejah <meejah@meejah.ca>
Michael Brown <michael@netdirect.ca>
Michael Crosby <michael@crosbymichael.com>
Michael Gorsuch <gorsuch@github.com>
Michael Neale <michael.neale@gmail.com>
Michael Stapelberg <michael+gh@stapelberg.de>
Miguel Angel Fernández <elmendalerenda@gmail.com>
Mike Gaffney <mike@uberu.com>
Mike MacCana <mike.maccana@gmail.com>
Mike Naberezny <mike@naberezny.com>
Mikhail Sobolev <mss@mawhrin.net>
Mohit Soni <mosoni@ebay.com>
Morgante Pell <morgante.pell@morgante.net>
Morten Siebuhr <sbhr@sbhr.dk>
Nan Monnand Deng <monnand@gmail.com>
Nate Jones <nate@endot.org>
@@ -231,22 +309,26 @@ 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>
noducks <onemannoducks@gmail.com>
Nolan Darilek <nolan@thewordnerd.info>
odk- <github@odkurzacz.org>
Oguz Bilgic <fisyonet@gmail.com>
Ole Reifschneider <mail@ole-reifschneider.de>
O.S.Tezer <ostezer@gmail.com>
O.S. Tezer <ostezer@gmail.com>
pandrew <letters@paulnotcom.se>
Pascal Borreli <pascal@borreli.com>
pattichen <craftsbear@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>
Peter Braden <peterbraden@peterbraden.co.uk>
Peter Waller <peter@scraperwiki.com>
Phillip Alexander <git@phillipalexander.io>
Phil Spitler <pspitler@gmail.com>
Piergiuliano Bossi <pgbossi@gmail.com>
Pierre-Alain RIVIERE <pariviere@ippon.fr>
@@ -254,6 +336,8 @@ Piotr Bogdan <ppbogdan@gmail.com>
pysqz <randomq@126.com>
Quentin Brossard <qbrossard@gmail.com>
Rafal Jeczalik <rjeczalik@gmail.com>
Rajat Pandit <rp@rajatpandit.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>
@@ -263,54 +347,71 @@ Richo Healey <richo@psych0tik.net>
Rick Bradley <rick@users.noreply.github.com>
Robert Obryk <robryk@gmail.com>
Roberto G. Hashioka <roberto.hashioka@docker.com>
Roberto Hashioka <roberto_hashioka@hotmail.com>
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 Moriz <rmoriz@users.noreply.github.com>
Rovanion Luckey <rovanion.luckey@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>
Sam Alba <sam.alba@gmail.com>
Sam J Sharpe <sam.sharpe@digital.cabinet-office.gov.uk>
Sam Rijs <srijs@airpost.net>
Samuel Andaya <samuel@andaya.net>
Scott Bessler <scottbessler@gmail.com>
Scott Collier <emailscottcollier@gmail.com>
Sean Cronin <seancron@gmail.com>
Sean P. Kane <skane@newrelic.com>
Sébastien Stormacq <sebsto@users.noreply.github.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>
Sridatta Thatipamala <sthatipamala@gmail.com>
Sridhar Ratnakumar <sridharr@activestate.com>
Steeve Morin <steeve.morin@gmail.com>
Stefan Praszalowicz <stefan@greplin.com>
Steven Burgess <steven.a.burgess@hotmail.com>
sudosurootdev <sudosurootdev@gmail.com>
Sven Dowideit <svendowideit@home.org.au>
Sven Dowideit <SvenDowideit@home.org.au>
Sylvain Bellemare <sylvain.bellemare@ezeep.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>
Timothy Hobbs <timothyhobbs@seznam.cz>
Tim Ruffles <oi@truffles.me.uk>
Tim Terhorst <mynamewastaken+git@gmail.com>
tjmehta <tj@init.me>
Tobias Bieniek <Tobias.Bieniek@gmx.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>
Tommaso Visconti <tommaso.visconti@gmail.com>
Tony Daws <tony@daws.ca>
Travis Cline <travis.cline@gmail.com>
Tyler Brock <tyler.brock@gmail.com>
Tzu-Jung Lee <roylee17@gmail.com>
@@ -319,26 +420,35 @@ 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>
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>
William Henry <whenry@redhat.com>
Will Rouesnel <w.rouesnel@gmail.com>
Will Weaver <monkey@buildingbananas.com>
Xiuming Chen <cc@cxm.cc>
Yang Bai <hamo.by@gmail.com>
Yasunori Mahata <nori@mahata.net>
Yurii Rashkovskii <yrashk@gmail.com>
Zain Memon <zain@inzain.net>
Zaiste! <oh@zaiste.net>
Zilin Du <zilin.du@gmail.com>
zimbatm <zimbatm@zimbatm.com>
zqh <zqhxuyuan@gmail.com>
+273
View File
@@ -1,5 +1,278 @@
# Changelog
## 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
* SELinux support for mount and process labels
* Linked containers can be accessed by hostname
* Use the net `--net` flag to allow advanced network configuration such as host networking so that containers can use the host's network interfaces
* Add a ping endpoint to the Remote API to do healthchecks of your docker daemon
* Logs can now be returned with an optional timestamp
* Docker now works with registries that support SHA-512
* Multiple registry endpoints are supported to allow registry mirrors
## 0.10.0 (2014-04-08)
#### Builder
- Fix printing multiple messages on a single line. Fixes broken output during builds.
- Follow symlinks inside container's root for ADD build instructions.
- Fix EXPOSE caching.
#### Documentation
- Add the new options of `docker ps` to the documentation.
- Add the options of `docker restart` to the documentation.
- Update daemon docs and help messages for --iptables and --ip-forward.
- Updated apt-cacher-ng docs example.
- Remove duplicate description of --mtu from docs.
- Add missing -t and -v for `docker images` to the docs.
- Add fixes to the cli docs.
- Update libcontainer docs.
- Update images in docs to remove references to AUFS and LXC.
- Update the nodejs_web_app in the docs to use the new epel RPM address.
- Fix external link on security of containers.
- Update remote API docs.
- Add image size to history docs.
- Be explicit about binding to all interfaces in redis example.
- Document DisableNetwork flag in the 1.10 remote api.
- Document that `--lxc-conf` is lxc only.
- Add chef usage documentation.
- Add example for an image with multiple for `docker load`.
- Explain what `docker run -a` does in the docs.
#### Contrib
- Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile.
- Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly.
- Remove inotifywait hack from the upstart host-integration example because it's not necessary any more.
- Add check-config script to contrib.
- Fix fish shell completion.
#### Hack
* Clean up "go test" output from "make test" to be much more readable/scannable.
* Excluse more "definitely not unit tested Go source code" directories from hack/make/test.
+ Generate md5 and sha256 hashes when building, and upload them via hack/release.sh.
- Include contributed completions in Ubuntu PPA.
+ Add cli integration tests.
* Add tweaks to the hack scripts to make them simpler.
#### Remote API
+ Add TLS auth support for API.
* Move git clone from daemon to client.
- Fix content-type detection in docker cp.
* Split API into 2 go packages.
#### Runtime
* Support hairpin NAT without going through Docker server.
- devicemapper: succeed immediately when removing non-existing devices.
- devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time and unlock while sleeping).
- devicemapper: increase timeout in waitClose to 10 seconds.
- devicemapper: ensure we shut down thin pool cleanly.
- devicemapper: pass info, rather than hash to activateDeviceIfNeeded, deactivateDevice, setInitialized, deleteDevice.
- devicemapper: avoid AB-BA deadlock.
- devicemapper: make shutdown better/faster.
- improve alpha sorting in mflag.
- Remove manual http cookie management because the cookiejar is being used.
- Use BSD raw mode on Darwin. Fixes nano, tmux and others.
- Add FreeBSD support for the client.
- Merge auth package into registry.
- Add deprecation warning for -t on `docker pull`.
- Remove goroutine leak on error.
- Update parseLxcInfo to comply with new lxc1.0 format.
- Fix attach exit on darwin.
- Improve deprecation message.
- Retry to retrieve the layer metadata up to 5 times for `docker pull`.
- Only unshare the mount namespace for execin.
- Merge existing config when committing.
- Disable daemon startup timeout.
- Fix issue #4681: add loopback interface when networking is disabled.
- Add failing test case for issue #4681.
- Send SIGTERM to child, instead of SIGKILL.
- Show the driver and the kernel version in `docker info` even when not in debug mode.
- Always symlink /dev/ptmx for libcontainer. This fixes console related problems.
- Fix issue caused by the absence of /etc/apparmor.d.
- Don't leave empty cidFile behind when failing to create the container.
- Mount cgroups automatically if they're not mounted already.
- Use mock for search tests.
- Update to double-dash everywhere.
- Move .dockerenv parsing to lxc driver.
- Move all bind-mounts in the container inside the namespace.
- Don't use separate bind mount for container.
- Always symlink /dev/ptmx for libcontainer.
- Don't kill by pid for other drivers.
- Add initial logging to libcontainer.
* Sort by port in `docker ps`.
- Move networking drivers into runtime top level package.
+ Add --no-prune to `docker rmi`.
+ Add time since exit in `docker ps`.
- graphdriver: add build tags.
- Prevent allocation of previously allocated ports & prevent improve port allocation.
* Add support for --since/--before in `docker ps`.
- Clean up container stop.
+ Add support for configurable dns search domains.
- Add support for relative WORKDIR instructions.
- Add --output flag for docker save.
- Remove duplication of DNS entries in config merging.
- Add cpuset.cpus to cgroups and native driver options.
- Remove docker-ci.
- Promote btrfs. btrfs is no longer considered experimental.
- Add --input flag to `docker load`.
- Return error when existing bridge doesn't match IP address.
- Strip comments before parsing line continuations to avoid interpreting instructions as comments.
- Fix TestOnlyLoopbackExistsWhenUsingDisableNetworkOption to ignore "DOWN" interfaces.
- Add systemd implementation of cgroups and make containers show up as systemd units.
- Fix commit and import when no repository is specified.
- Remount /var/lib/docker as --private to fix scaling issue.
- Use the environment's proxy when pinging the remote registry.
- Reduce error level from harmless errors.
* Allow --volumes-from to be individual files.
- Fix expanding buffer in StdCopy.
- Set error regardless of attach or stdin. This fixes #3364.
- Add support for --env-file to load environment variables from files.
- Symlink /etc/mtab and /proc/mounts.
- Allow pushing a single tag.
- Shut down containers cleanly at shutdown and wait forever for the containers to shut down. This makes container shutdown on daemon shutdown work properly via SIGTERM.
- Don't throw error when starting an already running container.
- Fix dynamic port allocation limit.
- remove setupDev from libcontainer.
- Add API version to `docker version`.
- Return correct exit code when receiving signal and make SIGQUIT quit without cleanup.
- Fix --volumes-from mount failure.
- Allow non-privileged containers to create device nodes.
- Skip login tests because of external dependency on a hosted service.
- Deprecate `docker images --tree` and `docker images --viz`.
- Deprecate `docker insert`.
- Include base abstraction for apparmor. This fixes some apparmor related problems on Ubuntu 14.04.
- Add specific error message when hitting 401 over HTTP on push.
- Fix absolute volume check.
- Remove volumes-from from the config.
- Move DNS options to hostconfig.
- Update the apparmor profile for libcontainer.
- Add deprecation notice for `docker commit -run`.
## 0.9.1 (2014-03-24)
#### Builder
- Fix printing multiple messages on a single line. Fixes broken output during builds.
#### Documentation
- Fix external link on security of containers.
#### Contrib
- Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly.
- Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile.
#### Hack
- Generate md5 and sha256 hashes when building, and upload them via hack/release.sh.
#### Remote API
- Fix content-type detection in `docker cp`.
#### Runtime
- Use BSD raw mode on Darwin. Fixes nano, tmux and others.
- Only unshare the mount namespace for execin.
- Retry to retrieve the layer metadata up to 5 times for `docker pull`.
- Merge existing config when committing.
- Fix panic in monitor.
- Disable daemon startup timeout.
- Fix issue #4681: add loopback interface when networking is disabled.
- Add failing test case for issue #4681.
- Send SIGTERM to child, instead of SIGKILL.
- Show the driver and the kernel version in `docker info` even when not in debug mode.
- Always symlink /dev/ptmx for libcontainer. This fixes console related problems.
- Fix issue caused by the absence of /etc/apparmor.d.
- Don't leave empty cidFile behind when failing to create the container.
- Improve deprecation message.
- Fix attach exit on darwin.
- devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time, unlock while sleeping).
- devicemapper: succeed immediately when removing non-existing devices.
- devicemapper: increase timeout in waitClose to 10 seconds.
- Remove goroutine leak on error.
- Update parseLxcInfo to comply with new lxc1.0 format.
## 0.9.0 (2014-03-10)
#### Builder
+49 -36
View File
@@ -9,7 +9,7 @@ feels wrong or incomplete.
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 output of `docker -D 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.
@@ -17,7 +17,7 @@ This information will help us review and fix your issue faster.
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
@@ -77,19 +77,18 @@ well as a clean documentation build. See ``docs/README.md`` for more
information on building the docs and how docs 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.github.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 plugins 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.
Code review comments may be added to your pull request. Discuss, then make the
suggested modifications and push additional commits to your feature branch. Be
sure to post a comment after pushing. The new commits will show up in the pull
@@ -104,10 +103,8 @@ 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.
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
@@ -126,33 +123,46 @@ For more details see [MAINTAINERS.md](hack/MAINTAINERS.md)
The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as an open-source patch. The rules are pretty simple: if you
can certify the below:
can certify the below (from
[developercertificate.org](http://developercertificate.org/)):
```
Docker Developer Certificate of Origin 1.1
Developer Certificate of Origin
Version 1.1
By making a contribution to the Docker Project ("Project"), I represent and
warrant that:
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
a. The contribution was created in whole or in part by me and I have the right
to submit the contribution on my own behalf or on behalf of a third party who
has authorized me to submit this contribution to the Project; or
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
b. The contribution is based upon previous work that, to the best of my
knowledge, is covered under an appropriate open source license and I have the
right and authorization to submit that work with modifications, whether
created in whole or in part by me, under the same open source license (unless
I am permitted to submit under a different license) that I have identified in
the contribution; or
c. The contribution was provided directly to me by some other person who
represented and warranted (a) or (b) and I have not modified it.
Developer's Certificate of Origin 1.1
d. I understand and agree that this Project and the contribution are publicly
known and that a record of the contribution (including all personal
information I submit with it, including my sign-off record) is maintained
indefinitely and may be redistributed consistent with this Project or the open
source license(s) involved.
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```
then you just add a line to every git commit message:
@@ -165,7 +175,7 @@ One way to automate this, is customise your get ``commit.template`` by adding
a ``prepare-commit-msg`` hook to your docker checkout:
```
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
curl -o .git/hooks/prepare-commit-msg https://raw.githubusercontent.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``
@@ -175,9 +185,12 @@ curl -o .git/hooks/prepare-commit-msg https://raw.github.com/dotcloud/docker/mas
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?
+18 -10
View File
@@ -6,13 +6,13 @@
# 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/dotcloud/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run -privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test
#
# # Publish a release:
# docker run -privileged \
# docker run --privileged \
# -e AWS_S3_BUCKET=baz \
# -e AWS_ACCESS_KEY=foo \
# -e AWS_SECRET_KEY=bar \
@@ -24,7 +24,7 @@
#
docker-version 0.6.1
FROM ubuntu:13.10
FROM ubuntu:14.04
MAINTAINER Tianon Gravi <admwiggin@gmail.com> (@tianon)
# Packaged dependencies
@@ -41,17 +41,15 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
lxc=1.0* \
mercurial \
pandoc \
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
@@ -68,7 +66,10 @@ ENV GOPATH /go:/go/src/github.com/dotcloud/docker/vendor
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
# Compile Go for cross compilation
ENV DOCKER_CROSSPLATFORMS linux/386 linux/arm darwin/amd64 darwin/386
ENV DOCKER_CROSSPLATFORMS \
linux/386 linux/arm \
darwin/amd64 darwin/386 \
freebsd/amd64 freebsd/386 freebsd/arm
# (set an explicit GOARM of 5 for maximum compatibility)
ENV GOARM 5
RUN cd /usr/local/go/src && bash -xc 'for platform in $DOCKER_CROSSPLATFORMS; do GOOS=${platform%/*} GOARCH=${platform##*/} ./make.bash --no-clean 2>&1; done'
@@ -79,15 +80,22 @@ 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
# Get the "busybox" image source so we can build locally instead of pulling
RUN git clone -b buildroot-2014.02 https://github.com/jpetazzo/docker-busybox.git /docker-busybox
# Setup s3cmd config
RUN /bin/echo -e '[default]\naccess_key=$AWS_ACCESS_KEY\nsecret_key=$AWS_SECRET_KEY' > /.s3cfg
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
# 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
ENV DOCKER_BUILDTAGS apparmor
ENV DOCKER_BUILDTAGS apparmor selinux
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]
+1 -12
View File
@@ -176,18 +176,7 @@
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright 2014 Docker, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+4 -2
View File
@@ -1,7 +1,9 @@
Solomon Hykes <solomon@dotcloud.com> (@shykes)
Guillaume Charmes <guillaume@dotcloud.com> (@creack)
Solomon Hykes <solomon@docker.com> (@shykes)
Victor Vieux <vieux@docker.com> (@vieux)
Michael Crosby <michael@crosbymichael.com> (@crosbymichael)
.mailmap: Tianon Gravi <admwiggin@gmail.com> (@tianon)
.travis.yml: Tianon Gravi <admwiggin@gmail.com> (@tianon)
AUTHORS: Tianon Gravi <admwiggin@gmail.com> (@tianon)
Dockerfile: Tianon Gravi <admwiggin@gmail.com> (@tianon)
Makefile: Tianon Gravi <admwiggin@gmail.com> (@tianon)
.dockerignore: Tianon Gravi <admwiggin@gmail.com> (@tianon)
+34 -8
View File
@@ -1,9 +1,19 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-integration
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli validate
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
DOCKER_IMAGE := docker:$(GIT_BRANCH)
DOCKER_DOCS_IMAGE := docker-docs:$(GIT_BRANCH)
DOCKER_RUN_DOCKER := docker run --rm -i -t --privileged -e TESTFLAGS -v "$(CURDIR)/bundles:/go/src/github.com/dotcloud/docker/bundles" "$(DOCKER_IMAGE)"
# to allow `make BINDDIR=. shell` or `make BINDDIR= test`
BINDDIR := 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_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`
DOCKER_RUN_DOCS := docker run --rm -it $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR)) -e AWS_S3_BUCKET
default: binary
@@ -17,17 +27,29 @@ cross: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross
docs: docs-build
docker run --rm -i -t -p 8000:8000 "$(DOCKER_DOCS_IMAGE)"
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" mkdocs serve
docs-shell: docs-build
docker run --rm -i -t -p 8000:8000 "$(DOCKER_DOCS_IMAGE)" bash
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-release: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" ./release.sh
test: build
$(DOCKER_RUN_DOCKER) hack/make.sh test test-integration
$(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
test-integration: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-integration
test-integration-cli: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary test-integration-cli
validate: build
$(DOCKER_RUN_DOCKER) hack/make.sh validate-gofmt validate-dco
shell: build
$(DOCKER_RUN_DOCKER) bash
@@ -35,6 +57,10 @@ build: bundles
docker build -t "$(DOCKER_IMAGE)" .
docs-build:
cp ./VERSION docs/VERSION
echo "$(GIT_BRANCH)" > docs/GIT_BRANCH
echo "$(AWS_S3_BUCKET)" > docs/AWS_S3_BUCKET
echo "$(GITCOMMIT)" > docs/GITCOMMIT
docker build -t "$(DOCKER_DOCS_IMAGE)" docs
bundles:
+17 -6
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/docker/static/img/dockerlogo-h.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
@@ -142,11 +148,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 +160,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
@@ -190,3 +195,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.9.0
1.1.2
+5
View File
@@ -0,0 +1,5 @@
This directory contains code pertaining to the Docker API:
- Used by the docker client when comunicating with the docker deamon
- Used by third party tools wishing to interface with the docker deamon
-46
View File
@@ -1,9 +1,6 @@
package api
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
)
@@ -20,46 +17,3 @@ func TestJsonContentType(t *testing.T) {
t.Fail()
}
}
func TestGetBoolParam(t *testing.T) {
if ret, err := getBoolParam("true"); err != nil || !ret {
t.Fatalf("true -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("True"); err != nil || !ret {
t.Fatalf("True -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("1"); err != nil || !ret {
t.Fatalf("1 -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam(""); err != nil || ret {
t.Fatalf("\"\" -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("false"); err != nil || ret {
t.Fatalf("false -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("0"); err != nil || ret {
t.Fatalf("0 -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("faux"); err == nil || ret {
t.Fatalf("faux -> false, err | got %t %s", ret, err)
}
}
func TesthttpError(t *testing.T) {
r := httptest.NewRecorder()
httpError(r, fmt.Errorf("No such method"))
if r.Code != http.StatusNotFound {
t.Fatalf("Expected %d, got %d", http.StatusNotFound, r.Code)
}
httpError(r, fmt.Errorf("This accound hasn't been activated"))
if r.Code != http.StatusForbidden {
t.Fatalf("Expected %d, got %d", http.StatusForbidden, r.Code)
}
httpError(r, fmt.Errorf("Some error"))
if r.Code != http.StatusInternalServerError {
t.Fatalf("Expected %d, got %d", http.StatusInternalServerError, r.Code)
}
}
+112
View File
@@ -0,0 +1,112 @@
package client
import (
"crypto/tls"
"encoding/json"
"fmt"
"io"
"os"
"reflect"
"strings"
"text/template"
flag "github.com/dotcloud/docker/pkg/mflag"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/registry"
)
var funcMap = template.FuncMap{
"json": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
}
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() {
return nil, false
}
return method.Interface().(func(...string) error), true
}
func (cli *DockerCli) ParseCommands(args ...string) error {
if len(args) > 0 {
method, exists := cli.getMethod(args[0])
if !exists {
fmt.Println("Error: Command not found:", args[0])
return cli.CmdHelp(args[1:]...)
}
return method(args[1:]...)
}
return cli.CmdHelp(args...)
}
func (cli *DockerCli) Subcmd(name, signature, description string) *flag.FlagSet {
flags := flag.NewFlagSet(name, flag.ContinueOnError)
flags.Usage = func() {
fmt.Fprintf(cli.err, "\nUsage: docker %s %s\n\n%s\n\n", name, signature, description)
flags.PrintDefaults()
os.Exit(2)
}
return flags
}
func (cli *DockerCli) LoadConfigFile() (err error) {
cli.configFile, err = registry.LoadConfig(os.Getenv("HOME"))
if err != nil {
fmt.Fprintf(cli.err, "WARNING: %s\n", err)
}
return err
}
func NewDockerCli(in io.ReadCloser, out, err io.Writer, proto, addr string, tlsConfig *tls.Config) *DockerCli {
var (
isTerminal = false
terminalFd uintptr
scheme = "http"
)
if tlsConfig != nil {
scheme = "https"
}
if in != nil {
if file, ok := out.(*os.File); ok {
terminalFd = file.Fd()
isTerminal = term.IsTerminal(terminalFd)
}
}
if err == nil {
err = out
}
return &DockerCli{
proto: proto,
addr: addr,
in: in,
out: out,
err: err,
isTerminal: isTerminal,
terminalFd: terminalFd,
tlsConfig: tlsConfig,
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
}
File diff suppressed because it is too large Load Diff
+133
View File
@@ -0,0 +1,133 @@
package client
import (
"crypto/tls"
"fmt"
"io"
"net"
"net/http"
"net/http/httputil"
"os"
"runtime"
"strings"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/dockerversion"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/utils"
)
func (cli *DockerCli) dial() (net.Conn, error) {
if cli.tlsConfig != nil && cli.proto != "unix" {
return tls.Dial(cli.proto, cli.addr, cli.tlsConfig)
}
return net.Dial(cli.proto, cli.addr)
}
func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.ReadCloser, stdout, stderr io.Writer, started chan io.Closer) error {
defer func() {
if started != nil {
close(started)
}
}()
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), nil)
if err != nil {
return err
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
req.Header.Set("Content-Type", "plain/text")
req.Host = cli.addr
dial, err := cli.dial()
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
}
return err
}
clientconn := httputil.NewClientConn(dial, nil)
defer clientconn.Close()
// Server hijacks the connection, error 'connection closed' expected
clientconn.Do(req)
rwc, br := clientconn.Hijack()
defer rwc.Close()
if started != nil {
started <- rwc
}
var receiveStdout chan error
var oldState *term.State
if in != nil && setRawTerminal && cli.isTerminal && os.Getenv("NORAW") == "" {
oldState, err = term.SetRawTerminal(cli.terminalFd)
if err != nil {
return err
}
defer term.RestoreTerminal(cli.terminalFd, oldState)
}
if stdout != nil || stderr != nil {
receiveStdout = utils.Go(func() (err error) {
defer func() {
if in != nil {
if setRawTerminal && cli.isTerminal {
term.RestoreTerminal(cli.terminalFd, oldState)
}
// For some reason this Close call blocks on darwin..
// As the client exists right after, simply discard the close
// until we find a better solution.
if runtime.GOOS != "darwin" {
in.Close()
}
}
}()
// When TTY is ON, use regular copy
if setRawTerminal {
_, err = io.Copy(stdout, br)
} else {
_, err = utils.StdCopy(stdout, stderr, br)
}
utils.Debugf("[hijack] End of stdout")
return err
})
}
sendStdin := utils.Go(func() error {
if in != nil {
io.Copy(rwc, in)
utils.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)
}
} else if unixc, ok := rwc.(*net.UnixConn); ok {
if err := unixc.CloseWrite(); err != nil {
utils.Debugf("Couldn't send EOF: %s\n", err)
}
}
// Discard errors due to pipe interruption
return nil
})
if stdout != nil || stderr != nil {
if err := <-receiveStdout; err != nil {
utils.Debugf("Error receiveStdout: %s", err)
return err
}
}
if !cli.isTerminal {
if err := <-sendStdin; err != nil {
utils.Debugf("Error sendStdin: %s", err)
return err
}
}
return nil
}
+260
View File
@@ -0,0 +1,260 @@
package client
import (
"bytes"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
"net/url"
"os"
gosignal "os/signal"
"strconv"
"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"
)
var (
ErrConnectionRefused = errors.New("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
)
func (cli *DockerCli) HTTPClient() *http.Client {
tr := &http.Transport{
TLSClientConfig: cli.tlsConfig,
Dial: func(network, addr string) (net.Conn, error) {
return net.Dial(cli.proto, cli.addr)
},
}
return &http.Client{Transport: tr}
}
func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo bool) (io.ReadCloser, int, error) {
params := bytes.NewBuffer(nil)
if data != nil {
if env, ok := data.(engine.Env); ok {
if err := env.Encode(params); err != nil {
return nil, -1, err
}
} else {
buf, err := json.Marshal(data)
if err != nil {
return nil, -1, err
}
if _, err := params.Write(buf); err != nil {
return nil, -1, err
}
}
}
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), params)
if err != nil {
return nil, -1, err
}
if passAuthInfo {
cli.LoadConfigFile()
// Resolve the Auth config relevant for this server
authConfig := cli.configFile.ResolveAuthConfig(registry.IndexServerAddress())
getHeaders := func(authConfig registry.AuthConfig) (map[string][]string, error) {
buf, err := json.Marshal(authConfig)
if err != nil {
return nil, err
}
registryAuthHeader := []string{
base64.URLEncoding.EncodeToString(buf),
}
return map[string][]string{"X-Registry-Auth": registryAuthHeader}, nil
}
if headers, err := getHeaders(authConfig); err == nil && headers != nil {
for k, v := range headers {
req.Header[k] = v
}
}
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if data != nil {
req.Header.Set("Content-Type", "application/json")
} else if method == "POST" {
req.Header.Set("Content-Type", "plain/text")
}
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return nil, -1, ErrConnectionRefused
}
return nil, -1, err
}
if resp.StatusCode < 200 || resp.StatusCode >= 400 {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, -1, err
}
if len(body) == 0 {
return nil, resp.StatusCode, fmt.Errorf("Error: request returned %s for API route and version %s, check if the server supports the requested API version", http.StatusText(resp.StatusCode), req.URL)
}
return nil, resp.StatusCode, fmt.Errorf("Error response from daemon: %s", bytes.TrimSpace(body))
}
return resp.Body, resp.StatusCode, nil
}
func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer, headers map[string][]string) error {
return cli.streamHelper(method, path, true, in, out, nil, headers)
}
func (cli *DockerCli) streamHelper(method, path string, setRawTerminal bool, in io.Reader, stdout, stderr io.Writer, headers map[string][]string) error {
if (method == "POST" || method == "PUT") && in == nil {
in = bytes.NewReader([]byte{})
}
req, err := http.NewRequest(method, fmt.Sprintf("http://v%s%s", api.APIVERSION, path), in)
if err != nil {
return err
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if method == "POST" {
req.Header.Set("Content-Type", "plain/text")
}
if headers != nil {
for k, v := range headers {
req.Header[k] = v
}
}
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
}
return err
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 400 {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return err
}
if len(body) == 0 {
return fmt.Errorf("Error :%s", http.StatusText(resp.StatusCode))
}
return fmt.Errorf("Error: %s", bytes.TrimSpace(body))
}
if api.MatchesContentType(resp.Header.Get("Content-Type"), "application/json") {
return utils.DisplayJSONMessagesStream(resp.Body, stdout, cli.terminalFd, cli.isTerminal)
}
if stdout != nil || stderr != nil {
// When TTY is ON, use regular copy
if setRawTerminal {
_, err = io.Copy(stdout, resp.Body)
} else {
_, err = utils.StdCopy(stdout, stderr, resp.Body)
}
utils.Debugf("[stream] End of stdout")
return err
}
return nil
}
func (cli *DockerCli) resizeTty(id string) {
height, width := cli.getTtySize()
if height == 0 && width == 0 {
return
}
v := url.Values{}
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)
}
}
func waitForExit(cli *DockerCli, containerId string) (int, error) {
stream, _, err := cli.call("POST", "/containers/"+containerId+"/wait", nil, false)
if err != nil {
return -1, err
}
var out engine.Env
if err := out.Decode(stream); err != nil {
return -1, err
}
return out.GetInt("StatusCode"), nil
}
// getExitCode perform an inspect on the container. It returns
// the running state and the exit code.
func getExitCode(cli *DockerCli, containerId string) (bool, int, error) {
steam, _, err := cli.call("GET", "/containers/"+containerId+"/json", nil, false)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != ErrConnectionRefused {
return false, -1, err
}
return false, -1, nil
}
var result engine.Env
if err := result.Decode(steam); err != nil {
return false, -1, err
}
state := result.GetSubEnv("State")
return state.GetBool("Running"), state.GetInt("ExitCode"), nil
}
func (cli *DockerCli) monitorTtySize(id string) error {
cli.resizeTty(id)
sigchan := make(chan os.Signal, 1)
gosignal.Notify(sigchan, syscall.SIGWINCH)
go func() {
for _ = range sigchan {
cli.resizeTty(id)
}
}()
return nil
}
func (cli *DockerCli) getTtySize() (int, int) {
if !cli.isTerminal {
return 0, 0
}
ws, err := term.GetWinsize(cli.terminalFd)
if err != nil {
utils.Debugf("Error getting size: %s", err)
if ws == nil {
return 0, 0
}
}
return int(ws.Height), int(ws.Width)
}
func readBody(stream io.ReadCloser, statusCode int, err error) ([]byte, int, error) {
if stream != nil {
defer stream.Close()
}
if err != nil {
return nil, statusCode, err
}
body, err := ioutil.ReadAll(stream)
if err != nil {
return nil, -1, err
}
return body, statusCode, nil
}
+11 -7
View File
@@ -2,16 +2,18 @@ package api
import (
"fmt"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/utils"
"mime"
"strings"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/version"
"github.com/dotcloud/docker/utils"
)
const (
APIVERSION = "1.10"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
APIVERSION version.Version = "1.13"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
)
func ValidateHost(val string) (string, error) {
@@ -23,11 +25,13 @@ func ValidateHost(val string) (string, error) {
}
//TODO remove, used on < 1.5 in getContainersJSON
func displayablePorts(ports *engine.Table) string {
func DisplayablePorts(ports *engine.Table) string {
result := []string{}
ports.SetKey("PublicPort")
ports.Sort()
for _, port := range ports.Data {
if port.Get("IP") == "" {
result = append(result, fmt.Sprintf("%d/%s", port.GetInt("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")))
}
-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
}
}
+2
View File
@@ -0,0 +1,2 @@
Victor Vieux <vieux@docker.com> (@vieux)
Johan Euphrosine <proppy@google.com> (@proppy)
+251 -108
View File
@@ -1,21 +1,14 @@
package api
package server
import (
"bufio"
"bytes"
"code.google.com/p/go.net/websocket"
"crypto/tls"
"crypto/x509"
"encoding/base64"
"encoding/json"
"expvar"
"fmt"
"github.com/dotcloud/docker/auth"
"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/utils"
"github.com/gorilla/mux"
"io"
"io/ioutil"
"log"
@@ -26,7 +19,18 @@ import (
"strconv"
"strings"
"syscall"
"time"
"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/gorilla/mux"
)
var (
@@ -118,17 +122,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)
@@ -161,6 +165,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")
@@ -184,6 +218,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"))
@@ -240,9 +276,10 @@ 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"))
return job.Run()
}
@@ -314,7 +351,7 @@ func getContainersJSON(eng *engine.Engine, version version.Version, w http.Respo
for _, out := range outs.Data {
ports := engine.NewTable("", 0)
ports.ReadListFrom([]byte(out.Get("Ports")))
out.Set("Ports", displayablePorts(ports))
out.Set("Ports", api.DisplayablePorts(ports))
}
w.Header().Set("Content-Type", "application/json")
if _, err = outs.WriteListTo(w); err != nil {
@@ -324,6 +361,54 @@ func getContainersJSON(eng *engine.Engine, version version.Version, w http.Respo
return nil
}
func getContainersLogs(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")
}
var (
inspectJob = eng.Job("container_inspect", vars["name"])
logsJob = eng.Job("logs", vars["name"])
c, err = inspectJob.Stdout.AddEnv()
)
if err != nil {
return err
}
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
}
var outStream, errStream io.Writer
outStream = utils.NewWriteFlusher(w)
if c.GetSubEnv("Config") != nil && !c.GetSubEnv("Config").GetBool("Tty") && version.GreaterThanOrEqualTo("1.6") {
errStream = utils.NewStdWriter(outStream, utils.Stderr)
outStream = utils.NewStdWriter(outStream, utils.Stdout)
} else {
errStream = outStream
}
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
}
func postImagesTag(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
@@ -346,26 +431,32 @@ 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)
}
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"))
job.Setenv("tag", r.Form.Get("tag"))
job.Setenv("author", r.Form.Get("author"))
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)
}
@@ -381,13 +472,13 @@ func postImagesCreate(eng *engine.Engine, version version.Version, w http.Respon
job *engine.Job
)
authEncoded := r.Header.Get("X-Registry-Auth")
authConfig := &auth.AuthConfig{}
authConfig := &registry.AuthConfig{}
if authEncoded != "" {
authJson := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJson).Decode(authConfig); err != nil {
// for a pull it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting to be empty
authConfig = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
}
}
if image != "" { //pull
@@ -429,7 +520,7 @@ func getImagesSearch(eng *engine.Engine, version version.Version, w http.Respons
}
var (
authEncoded = r.Header.Get("X-Registry-Auth")
authConfig = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
metaHeaders = map[string][]string{}
)
@@ -438,7 +529,7 @@ func getImagesSearch(eng *engine.Engine, version version.Version, w http.Respons
if err := json.NewDecoder(authJson).Decode(authConfig); err != nil {
// for a search it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting to be empty
authConfig = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
}
}
for k, v := range r.Header {
@@ -455,31 +546,6 @@ func getImagesSearch(eng *engine.Engine, version version.Version, w http.Respons
return job.Run()
}
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")
@@ -494,7 +560,7 @@ func postImagesPush(eng *engine.Engine, version version.Version, w http.Response
if err := parseForm(r); err != nil {
return err
}
authConfig := &auth.AuthConfig{}
authConfig := &registry.AuthConfig{}
authEncoded := r.Header.Get("X-Registry-Auth")
if authEncoded != "" {
@@ -502,7 +568,7 @@ func postImagesPush(eng *engine.Engine, version version.Version, w http.Response
authJson := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJson).Decode(authConfig); err != nil {
// to increase compatibility to existing api it is defaulting to be empty
authConfig = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
}
} else {
// the old format is supported for compatibility if there was no authConfig header
@@ -514,6 +580,7 @@ func postImagesPush(eng *engine.Engine, version version.Version, w http.Response
job := eng.Job("push", vars["name"])
job.SetenvJson("metaHeaders", metaHeaders)
job.SetenvJson("authConfig", authConfig)
job.Setenv("tag", r.Form.Get("tag"))
if version.GreaterThan("1.0") {
job.SetenvBool("json", true)
streamJSON(job, w, true)
@@ -554,17 +621,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 {
@@ -575,7 +642,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)
}
@@ -624,6 +691,7 @@ func deleteImages(eng *engine.Engine, version version.Version, w http.ResponseWr
var job = eng.Job("image_delete", vars["name"])
streamJSON(job, w, false)
job.Setenv("force", r.Form.Get("force"))
job.Setenv("noprune", r.Form.Get("noprune"))
return job.Run()
}
@@ -632,17 +700,24 @@ 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 MatchesContentType(r.Header.Get("Content-Type"), "application/json") {
if api.MatchesContentType(r.Header.Get("Content-Type"), "application/json") {
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)
@@ -659,6 +734,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)
@@ -670,20 +749,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)
}
@@ -709,7 +784,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 {
@@ -759,7 +834,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
@@ -773,7 +848,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
}
@@ -789,7 +864,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)
utils.Errorf("Error attaching websocket: %s", err)
}
})
h.ServeHTTP(w, r)
@@ -801,9 +876,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()
}
@@ -811,9 +888,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()
}
@@ -823,9 +902,9 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
}
var (
authEncoded = r.Header.Get("X-Registry-Auth")
authConfig = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
configFileEncoded = r.Header.Get("X-Registry-Config")
configFile = &auth.ConfigFile{}
configFile = &registry.ConfigFile{}
job = eng.Job("build")
)
@@ -838,7 +917,7 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
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 = &auth.AuthConfig{}
authConfig = &registry.AuthConfig{}
}
}
@@ -847,7 +926,7 @@ func postBuild(eng *engine.Engine, version version.Version, w http.ResponseWrite
if err := json.NewDecoder(configFileJson).Decode(configFile); 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
configFile = &auth.ConfigFile{}
configFile = &registry.ConfigFile{}
}
}
@@ -857,12 +936,20 @@ 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.Setenv("forcerm", r.FormValue("forcerm"))
job.SetenvJson("authConfig", authConfig)
job.SetenvJson("configFile", configFile)
@@ -883,7 +970,7 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
var copyData engine.Env
if contentType := r.Header.Get("Content-Type"); contentType == "application/json" {
if contentType := r.Header.Get("Content-Type"); api.MatchesContentType(contentType, "application/json") {
if err := copyData.Decode(r.Body); err != nil {
return err
}
@@ -894,6 +981,9 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
if copyData.Get("Resource") == "" {
return fmt.Errorf("Path cannot be empty")
}
origResource := copyData.Get("Resource")
if copyData.Get("Resource")[0] == '/' {
copyData.Set("Resource", copyData.Get("Resource")[1:])
}
@@ -904,6 +994,8 @@ func postContainersCopy(eng *engine.Engine, version version.Version, w http.Resp
utils.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") {
return fmt.Errorf("Could not find the file %s in container %s", origResource, vars["name"])
}
}
return nil
@@ -919,6 +1011,11 @@ func writeCorsHeaders(w http.ResponseWriter, r *http.Request) {
w.Header().Add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS")
}
func ping(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
_, err := w.Write([]byte{'O', 'K'})
return err
}
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
@@ -930,25 +1027,25 @@ func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, local
if strings.Contains(r.Header.Get("User-Agent"), "Docker-Client/") {
userAgent := strings.Split(r.Header.Get("User-Agent"), "/")
if len(userAgent) == 2 && !dockerVersion.Equal(userAgent[1]) {
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)
}
}
version := version.Version(mux.Vars(r)["version"])
if version == "" {
version = APIVERSION
version = api.APIVERSION
}
if enableCors {
writeCorsHeaders(w, r)
}
if version.GreaterThan(APIVERSION) {
http.Error(w, fmt.Errorf("client and server don't have same version (client : %s, server: %s)", version, APIVERSION).Error(), http.StatusNotFound)
if version.GreaterThan(api.APIVERSION) {
http.Error(w, fmt.Errorf("client and server don't have same version (client : %s, server: %s)", version, api.APIVERSION).Error(), http.StatusNotFound)
return
}
if err := handlerFunc(eng, version, w, r, mux.Vars(r)); err != nil {
utils.Errorf("Error: %s", err)
utils.Errorf("Error making handler: %s", err)
httpError(w, err)
}
}
@@ -987,6 +1084,7 @@ func createRouter(eng *engine.Engine, logging, enableCors bool, dockerVersion st
}
m := map[string]map[string]HttpApiFunc{
"GET": {
"/_ping": ping,
"/events": getEvents,
"/info": getInfo,
"/version": getVersion,
@@ -1002,6 +1100,7 @@ func createRouter(eng *engine.Engine, logging, enableCors bool, dockerVersion st
"/containers/{name:.*}/changes": getContainersChanges,
"/containers/{name:.*}/json": getContainersByName,
"/containers/{name:.*}/top": getContainersTop,
"/containers/{name:.*}/logs": getContainersLogs,
"/containers/{name:.*}/attach/ws": wsContainersAttach,
},
"POST": {
@@ -1009,12 +1108,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,
@@ -1130,9 +1230,9 @@ func changeGroup(addr string, nameOrGid string) error {
// 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, eng *engine.Engine, logging, enableCors bool, dockerVersion string, socketGroup string) error {
r, err := createRouter(eng, logging, enableCors, dockerVersion)
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
}
@@ -1147,22 +1247,58 @@ func ListenAndServe(proto, addr string, eng *engine.Engine, logging, enableCors
}
}
l, err := listenbuffer.NewListenBuffer(proto, addr, activationLock, 15*time.Minute)
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
}
if proto != "unix" && (job.GetenvBool("Tls") || job.GetenvBool("TlsVerify")) {
tlsCert := job.Getenv("TlsCert")
tlsKey := job.Getenv("TlsKey")
cert, err := tls.LoadX509KeyPair(tlsCert, tlsKey)
if err != nil {
return fmt.Errorf("Couldn't load X509 key pair (%s, %s): %s. Key encrypted?",
tlsCert, tlsKey, err)
}
tlsConfig := &tls.Config{
NextProtos: []string{"http/1.1"},
Certificates: []tls.Certificate{cert},
}
if job.GetenvBool("TlsVerify") {
certPool := x509.NewCertPool()
file, err := ioutil.ReadFile(job.Getenv("TlsCa"))
if err != nil {
return fmt.Errorf("Couldn't read CA certificate: %s", err)
}
certPool.AppendCertsFromPEM(file)
tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
tlsConfig.ClientCAs = certPool
}
l = tls.NewListener(l, tlsConfig)
}
// Basic error and sanity checking
switch proto {
case "tcp":
if !strings.HasPrefix(addr, "127.0.0.1") {
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 /!\\")
}
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" {
@@ -1173,6 +1309,9 @@ func ListenAndServe(proto, addr string, eng *engine.Engine, logging, enableCors
}
}
}
if err := os.Chmod(addr, 0660); err != nil {
return err
}
default:
return fmt.Errorf("Invalid protocol format.")
}
@@ -1184,21 +1323,23 @@ func ListenAndServe(proto, addr string, eng *engine.Engine, logging, enableCors
// ServeApi loops through all of the protocols sent in to docker and spawns
// off a go routine to setup a serving http.Server for each.
func ServeApi(job *engine.Job) engine.Status {
if len(job.Args) == 0 {
return job.Errorf("usage: %s PROTO://ADDR [PROTO://ADDR ...]", job.Name)
}
var (
protoAddrs = job.Args
chErrors = make(chan error, len(protoAddrs))
)
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])
chErrors <- ListenAndServe(protoAddrParts[0], protoAddrParts[1], job.Eng, job.GetenvBool("Logging"), job.GetenvBool("EnableCors"), job.Getenv("Version"), job.Getenv("SocketGroup"))
chErrors <- ListenAndServe(protoAddrParts[0], protoAddrParts[1], job)
}()
}
@@ -1217,7 +1358,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
}
+353
View File
@@ -0,0 +1,353 @@
package server
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"net/http/httptest"
"strings"
"testing"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/engine"
)
func TestGetBoolParam(t *testing.T) {
if ret, err := getBoolParam("true"); err != nil || !ret {
t.Fatalf("true -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("True"); err != nil || !ret {
t.Fatalf("True -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("1"); err != nil || !ret {
t.Fatalf("1 -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam(""); err != nil || ret {
t.Fatalf("\"\" -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("false"); err != nil || ret {
t.Fatalf("false -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("0"); err != nil || ret {
t.Fatalf("0 -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("faux"); err == nil || ret {
t.Fatalf("faux -> false, err | got %t %s", ret, err)
}
}
func TesthttpError(t *testing.T) {
r := httptest.NewRecorder()
httpError(r, fmt.Errorf("No such method"))
if r.Code != http.StatusNotFound {
t.Fatalf("Expected %d, got %d", http.StatusNotFound, r.Code)
}
httpError(r, fmt.Errorf("This accound hasn't been activated"))
if r.Code != http.StatusForbidden {
t.Fatalf("Expected %d, got %d", http.StatusForbidden, r.Code)
}
httpError(r, fmt.Errorf("Some error"))
if r.Code != http.StatusInternalServerError {
t.Fatalf("Expected %d, got %d", http.StatusInternalServerError, r.Code)
}
}
func TestGetVersion(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("version", func(job *engine.Job) engine.Status {
called = true
v := &engine.Env{}
v.SetJson("Version", "42.1")
v.Set("ApiVersion", "1.1.1.1.1")
v.Set("GoVersion", "2.42")
v.Set("Os", "Linux")
v.Set("Arch", "x86_64")
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/version", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
v := readEnv(r.Body, t)
if v.Get("Version") != "42.1" {
t.Fatalf("%#v\n", v)
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
}
func TestGetInfo(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("info", func(job *engine.Job) engine.Status {
called = true
v := &engine.Env{}
v.SetInt("Containers", 1)
v.SetInt("Images", 42000)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/info", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
v := readEnv(r.Body, t)
if v.GetInt("Images") != 42000 {
t.Fatalf("%#v\n", v)
}
if v.GetInt("Containers") != 1 {
t.Fatalf("%#v\n", v)
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
}
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.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", "/containers/"+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 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")
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
var stdout_json struct {
Since int
Until int
}
if err := json.Unmarshal(r.Body.Bytes(), &stdout_json); err != nil {
t.Fatalf("%#v", err)
}
if stdout_json.Since != 1 {
t.Fatalf("since != 1: %#v", stdout_json.Since)
}
if stdout_json.Until != 0 {
t.Fatalf("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 serveRequest(method, target string, 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 {
t.Fatal(err)
}
return r
}
func readEnv(src io.Reader, t *testing.T) *engine.Env {
out := engine.NewOutput()
v, err := out.AddEnv()
if err != nil {
t.Fatal(err)
}
if _, err := io.Copy(out, src); err != nil {
t.Fatal(err)
}
out.Close()
return v
}
func toJson(data interface{}, t *testing.T) io.Reader {
var buf bytes.Buffer
if err := json.NewEncoder(&buf).Encode(data); err != nil {
t.Fatal(err)
}
return &buf
}
+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`.
+62 -45
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,10 @@ import (
"path/filepath"
"strings"
"syscall"
"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"
)
type (
@@ -25,7 +27,9 @@ type (
Compression int
TarOptions struct {
Includes []string
Excludes []string
Compression Compression
NoLchown bool
}
)
@@ -40,27 +44,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 {
if len(source) < len(m) {
utils.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 +78,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)
utils.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())
}
@@ -194,7 +191,7 @@ func addTarFile(path, name string, tw *tar.Writer) error {
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)
@@ -255,7 +252,7 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader) e
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 +273,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 +287,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 +306,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)
@@ -343,6 +340,21 @@ func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
return nil
}
for _, exclude := range options.Excludes {
matched, err := filepath.Match(exclude, relFilePath)
if err != nil {
utils.Errorf("Error matching: %s (pattern: %s)", relFilePath, exclude)
return err
}
if matched {
utils.Debugf("Skipping excluded path: %s", relFilePath)
if f.IsDir() {
return filepath.SkipDir
}
return nil
}
}
if err := addTarFile(filePath, relFilePath, tw); err != nil {
utils.Debugf("Can't add file %s to tar: %s\n", srcPath, err)
}
@@ -404,7 +416,7 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
parent := filepath.Dir(hdr.Name)
parentPath := filepath.Join(dest, parent)
if _, err := os.Lstat(parentPath); err != nil && os.IsNotExist(err) {
err = os.MkdirAll(parentPath, 600)
err = os.MkdirAll(parentPath, 0777)
if err != nil {
return err
}
@@ -418,14 +430,16 @@ 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 {
if err := createTarFile(path, dest, hdr, tr, options == nil || !options.NoLchown); err != nil {
return err
}
@@ -452,7 +466,7 @@ func Untar(archive io.Reader, dest string, options *TarOptions) error {
// 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})
archive, err := TarWithOptions(src, &TarOptions{Compression: Uncompressed})
if err != nil {
return err
}
@@ -617,6 +631,9 @@ func NewTempArchive(src Archive, dir string) (*TempArchive, error) {
if _, err := io.Copy(f, src); err != nil {
return nil, err
}
if err = f.Sync(); err != nil {
return nil, err
}
if _, err := f.Seek(0, 0); err != nil {
return nil, err
}
+82 -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/dotcloud/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) {
@@ -121,9 +114,49 @@ func TestTarUntar(t *testing.T) {
Uncompressed,
Gzip,
} {
if err := tarUntar(t, origin, c); err != nil {
changes, err := tarUntar(t, origin, &TarOptions{
Compression: c,
})
if err != nil {
t.Fatalf("Error tar/untar for compression %s: %s", c.Extension(), err)
}
if len(changes) != 0 {
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 +165,37 @@ 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")
}
}
+25 -13
View File
@@ -3,15 +3,16 @@ package archive
import (
"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/dotcloud/docker/pkg/system"
"github.com/dotcloud/docker/utils"
"github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar"
)
type ChangeType int
@@ -293,13 +294,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
@@ -341,12 +352,13 @@ 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)
+4 -4
View File
@@ -138,7 +138,7 @@ func mutateSampleDir(t *testing.T, root string) {
}
// Rewrite a file
if err := ioutil.WriteFile(path.Join(root, "file2"), []byte("fileN\n"), 0777); err != nil {
if err := ioutil.WriteFile(path.Join(root, "file2"), []byte("fileNN\n"), 0777); err != nil {
t.Fatal(err)
}
@@ -146,12 +146,12 @@ func mutateSampleDir(t *testing.T, root string) {
if err := os.RemoveAll(path.Join(root, "file3")); err != nil {
t.Fatal(err)
}
if err := ioutil.WriteFile(path.Join(root, "file3"), []byte("fileM\n"), 0404); err != nil {
if err := ioutil.WriteFile(path.Join(root, "file3"), []byte("fileMM\n"), 0404); err != nil {
t.Fatal(err)
}
// Touch file
if err := os.Chtimes(path.Join(root, "file4"), time.Now(), time.Now()); err != nil {
if err := os.Chtimes(path.Join(root, "file4"), time.Now().Add(time.Second), time.Now().Add(time.Second)); err != nil {
t.Fatal(err)
}
@@ -195,7 +195,7 @@ func mutateSampleDir(t *testing.T, root string) {
}
// Touch dir
if err := os.Chtimes(path.Join(root, "dir3"), time.Now(), time.Now()); err != nil {
if err := os.Chtimes(path.Join(root, "dir3"), time.Now().Add(time.Second), time.Now().Add(time.Second)); err != nil {
t.Fatal(err)
}
}
+5 -14
View File
@@ -2,14 +2,14 @@ package archive
import (
"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/dotcloud/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 +18,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`.
@@ -68,7 +59,7 @@ func ApplyLayer(dest string, layer ArchiveReader) error {
parent := filepath.Dir(hdr.Name)
parentPath := filepath.Join(dest, parent)
if _, err := os.Lstat(parentPath); err != nil && os.IsNotExist(err) {
err = os.MkdirAll(parentPath, 600)
err = os.MkdirAll(parentPath, 0600)
if err != nil {
return err
}
@@ -89,7 +80,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
}
}
@@ -136,7 +127,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)
}
-3
View File
@@ -1,3 +0,0 @@
Sam Alba <sam@dotcloud.com> (@samalba)
Joffrey Fuhrer <joffrey@dotcloud.com> (@shin-)
Ken Cochrane <ken@dotcloud.com> (@kencochrane)
+47 -12
View File
@@ -1,21 +1,37 @@
package builtins
import (
"github.com/dotcloud/docker/engine"
"runtime"
"github.com/dotcloud/docker"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/networkdriver/lxc"
apiserver "github.com/dotcloud/docker/api/server"
"github.com/dotcloud/docker/daemon/networkdriver/bridge"
"github.com/dotcloud/docker/dockerversion"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/server"
"github.com/dotcloud/docker/utils"
)
func Register(eng *engine.Engine) {
daemon(eng)
remote(eng)
func Register(eng *engine.Engine) error {
if err := daemon(eng); err != nil {
return err
}
if err := remote(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) {
eng.Register("serveapi", api.ServeApi)
func remote(eng *engine.Engine) error {
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,
@@ -33,8 +49,27 @@ func remote(eng *engine.Engine) {
//
// These components should be broken off into plugins of their own.
//
func daemon(eng *engine.Engine) {
eng.Register("initserver", docker.InitServer)
eng.Register("init_networkdriver", lxc.InitDriver)
eng.Register("version", docker.GetVersion)
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 := utils.GetKernelVersion(); err == nil {
v.Set("KernelVersion", kernelVersion.String())
}
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
}
-160
View File
@@ -1,160 +0,0 @@
package docker
import (
"github.com/dotcloud/docker/runconfig"
"strings"
"testing"
)
func parse(t *testing.T, args string) (*runconfig.Config, *runconfig.HostConfig, error) {
config, hostConfig, _, err := runconfig.Parse(strings.Split(args+" ubuntu bash", " "), nil)
return config, hostConfig, err
}
func mustParse(t *testing.T, args string) (*runconfig.Config, *runconfig.HostConfig) {
config, hostConfig, err := parse(t, args)
if err != nil {
t.Fatal(err)
}
return config, hostConfig
}
func TestParseRunLinks(t *testing.T) {
if _, hostConfig := mustParse(t, "-link a:b"); len(hostConfig.Links) == 0 || hostConfig.Links[0] != "a:b" {
t.Fatalf("Error parsing links. Expected []string{\"a:b\"}, received: %v", hostConfig.Links)
}
if _, hostConfig := mustParse(t, "-link a:b -link c:d"); len(hostConfig.Links) < 2 || hostConfig.Links[0] != "a:b" || hostConfig.Links[1] != "c:d" {
t.Fatalf("Error parsing links. Expected []string{\"a:b\", \"c:d\"}, received: %v", hostConfig.Links)
}
if _, hostConfig := mustParse(t, ""); len(hostConfig.Links) != 0 {
t.Fatalf("Error parsing links. No link expected, received: %v", hostConfig.Links)
}
if _, _, err := parse(t, "-link a"); err == nil {
t.Fatalf("Error parsing links. `-link a` should be an error but is not")
}
if _, _, err := parse(t, "-link"); err == nil {
t.Fatalf("Error parsing links. `-link` should be an error but is not")
}
}
func TestParseRunAttach(t *testing.T) {
if config, _ := mustParse(t, "-a stdin"); !config.AttachStdin || config.AttachStdout || config.AttachStderr {
t.Fatalf("Error parsing attach flags. Expect only Stdin enabled. Received: in: %v, out: %v, err: %v", config.AttachStdin, config.AttachStdout, config.AttachStderr)
}
if config, _ := mustParse(t, "-a stdin -a stdout"); !config.AttachStdin || !config.AttachStdout || config.AttachStderr {
t.Fatalf("Error parsing attach flags. Expect only Stdin and Stdout enabled. Received: in: %v, out: %v, err: %v", config.AttachStdin, config.AttachStdout, config.AttachStderr)
}
if config, _ := mustParse(t, "-a stdin -a stdout -a stderr"); !config.AttachStdin || !config.AttachStdout || !config.AttachStderr {
t.Fatalf("Error parsing attach flags. Expect all attach enabled. Received: in: %v, out: %v, err: %v", config.AttachStdin, config.AttachStdout, config.AttachStderr)
}
if config, _ := mustParse(t, ""); config.AttachStdin || !config.AttachStdout || !config.AttachStderr {
t.Fatalf("Error parsing attach flags. Expect Stdin disabled. Received: in: %v, out: %v, err: %v", config.AttachStdin, config.AttachStdout, config.AttachStderr)
}
if _, _, err := parse(t, "-a"); err == nil {
t.Fatalf("Error parsing attach flags, `-a` should be an error but is not")
}
if _, _, err := parse(t, "-a invalid"); err == nil {
t.Fatalf("Error parsing attach flags, `-a invalid` should be an error but is not")
}
if _, _, err := parse(t, "-a invalid -a stdout"); err == nil {
t.Fatalf("Error parsing attach flags, `-a stdout -a invalid` should be an error but is not")
}
if _, _, err := parse(t, "-a stdout -a stderr -d"); err == nil {
t.Fatalf("Error parsing attach flags, `-a stdout -a stderr -d` should be an error but is not")
}
if _, _, err := parse(t, "-a stdin -d"); err == nil {
t.Fatalf("Error parsing attach flags, `-a stdin -d` should be an error but is not")
}
if _, _, err := parse(t, "-a stdout -d"); err == nil {
t.Fatalf("Error parsing attach flags, `-a stdout -d` should be an error but is not")
}
if _, _, err := parse(t, "-a stderr -d"); err == nil {
t.Fatalf("Error parsing attach flags, `-a stderr -d` should be an error but is not")
}
if _, _, err := parse(t, "-d -rm"); err == nil {
t.Fatalf("Error parsing attach flags, `-d -rm` should be an error but is not")
}
}
func TestParseRunVolumes(t *testing.T) {
if config, hostConfig := mustParse(t, "-v /tmp"); hostConfig.Binds != nil {
t.Fatalf("Error parsing volume flags, `-v /tmp` should not mount-bind anything. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/tmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /tmp` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, "-v /tmp -v /var"); hostConfig.Binds != nil {
t.Fatalf("Error parsing volume flags, `-v /tmp -v /var` should not mount-bind anything. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/tmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /tmp` is missing from volumes. Recevied %v", config.Volumes)
} else if _, exists := config.Volumes["/var"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /var` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, "-v /hostTmp:/containerTmp"); hostConfig.Binds == nil || hostConfig.Binds[0] != "/hostTmp:/containerTmp" {
t.Fatalf("Error parsing volume flags, `-v /hostTmp:/containerTmp` should mount-bind /hostTmp into /containeTmp. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/containerTmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /tmp` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, "-v /hostTmp:/containerTmp -v /hostVar:/containerVar"); hostConfig.Binds == nil || hostConfig.Binds[0] != "/hostTmp:/containerTmp" || hostConfig.Binds[1] != "/hostVar:/containerVar" {
t.Fatalf("Error parsing volume flags, `-v /hostTmp:/containerTmp -v /hostVar:/containerVar` should mount-bind /hostTmp into /containeTmp and /hostVar into /hostContainer. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/containerTmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerTmp` is missing from volumes. Received %v", config.Volumes)
} else if _, exists := config.Volumes["/containerVar"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerVar` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, "-v /hostTmp:/containerTmp:ro -v /hostVar:/containerVar:rw"); hostConfig.Binds == nil || hostConfig.Binds[0] != "/hostTmp:/containerTmp:ro" || hostConfig.Binds[1] != "/hostVar:/containerVar:rw" {
t.Fatalf("Error parsing volume flags, `-v /hostTmp:/containerTmp:ro -v /hostVar:/containerVar:rw` should mount-bind /hostTmp into /containeTmp and /hostVar into /hostContainer. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/containerTmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerTmp` is missing from volumes. Received %v", config.Volumes)
} else if _, exists := config.Volumes["/containerVar"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerVar` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, "-v /hostTmp:/containerTmp -v /containerVar"); hostConfig.Binds == nil || len(hostConfig.Binds) > 1 || hostConfig.Binds[0] != "/hostTmp:/containerTmp" {
t.Fatalf("Error parsing volume flags, `-v /hostTmp:/containerTmp -v /containerVar` should mount-bind only /hostTmp into /containeTmp. Received %v", hostConfig.Binds)
} else if _, exists := config.Volumes["/containerTmp"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerTmp` is missing from volumes. Received %v", config.Volumes)
} else if _, exists := config.Volumes["/containerVar"]; !exists {
t.Fatalf("Error parsing volume flags, `-v /containerVar` is missing from volumes. Received %v", config.Volumes)
}
if config, hostConfig := mustParse(t, ""); hostConfig.Binds != nil {
t.Fatalf("Error parsing volume flags, without volume, nothing should be mount-binded. Received %v", hostConfig.Binds)
} else if len(config.Volumes) != 0 {
t.Fatalf("Error parsing volume flags, without volume, no volume should be present. Received %v", config.Volumes)
}
if _, _, err := parse(t, "-v /"); err == nil {
t.Fatalf("Expected error, but got none")
}
if _, _, err := parse(t, "-v /:/"); err == nil {
t.Fatalf("Error parsing volume flags, `-v /:/` should fail but didn't")
}
if _, _, err := parse(t, "-v"); err == nil {
t.Fatalf("Error parsing volume flags, `-v` should fail but didn't")
}
if _, _, err := parse(t, "-v /tmp:"); err == nil {
t.Fatalf("Error parsing volume flags, `-v /tmp:` should fail but didn't")
}
if _, _, err := parse(t, "-v /tmp:ro"); err == nil {
t.Fatalf("Error parsing volume flags, `-v /tmp:ro` should fail but didn't")
}
if _, _, err := parse(t, "-v /tmp::"); err == nil {
t.Fatalf("Error parsing volume flags, `-v /tmp::` should fail but didn't")
}
if _, _, err := parse(t, "-v :"); err == nil {
t.Fatalf("Error parsing volume flags, `-v :` should fail but didn't")
}
if _, _, err := parse(t, "-v ::"); err == nil {
t.Fatalf("Error parsing volume flags, `-v ::` should fail but didn't")
}
if _, _, err := parse(t, "-v /tmp:/tmp:/tmp:/tmp"); err == nil {
t.Fatalf("Error parsing volume flags, `-v /tmp:/tmp:/tmp:/tmp` should fail but didn't")
}
}
-1142
View File
File diff suppressed because it is too large Load Diff
+153
View File
@@ -0,0 +1,153 @@
#!/usr/bin/env bash
set -e
# bits of this were adapted from lxc-checkconfig
# see also https://github.com/lxc/lxc/blob/lxc-1.0.2/src/lxc/lxc-checkconfig.in
possibleConfigs=(
'/proc/config.gz'
"/boot/config-$(uname -r)"
"/usr/src/linux-$(uname -r)/.config"
'/usr/src/linux/.config'
)
: ${CONFIG:="${possibleConfigs[0]}"}
if ! command -v zgrep &> /dev/null; then
zgrep() {
zcat "$2" | grep "$1"
}
fi
is_set() {
zgrep "CONFIG_$1=[y|m]" "$CONFIG" > /dev/null
}
# see http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
declare -A colors=(
[black]=30
[red]=31
[green]=32
[yellow]=33
[blue]=34
[magenta]=35
[cyan]=36
[white]=37
)
color() {
color=()
if [ "$1" = 'bold' ]; then
color+=( '1' )
shift
fi
if [ $# -gt 0 ] && [ "${colors[$1]}" ]; then
color+=( "${colors[$1]}" )
fi
local IFS=';'
echo -en '\033['"${color[*]}"m
}
wrap_color() {
text="$1"
shift
color "$@"
echo -n "$text"
color reset
echo
}
wrap_good() {
echo "$(wrap_color "$1" white): $(wrap_color "$2" green)"
}
wrap_bad() {
echo "$(wrap_color "$1" bold): $(wrap_color "$2" bold red)"
}
wrap_warning() {
wrap_color >&2 "$*" red
}
check_flag() {
if is_set "$1"; then
wrap_good "CONFIG_$1" 'enabled'
else
wrap_bad "CONFIG_$1" 'missing'
fi
}
check_flags() {
for flag in "$@"; do
echo "- $(check_flag "$flag")"
done
}
if [ ! -e "$CONFIG" ]; then
wrap_warning "warning: $CONFIG does not exist, searching other paths for kernel config..."
for tryConfig in "${possibleConfigs[@]}"; do
if [ -e "$tryConfig" ]; then
CONFIG="$tryConfig"
break
fi
done
if [ ! -e "$CONFIG" ]; then
wrap_warning "error: cannot find kernel config"
wrap_warning " try running this script again, specifying the kernel config:"
wrap_warning " CONFIG=/path/to/kernel/.config $0"
exit 1
fi
fi
wrap_color "info: reading kernel config from $CONFIG ..." white
echo
echo 'Generally Necessary:'
echo -n '- '
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]"
else
if [ "$cgroupSubsystemDir" ]; then
echo "$(wrap_bad 'cgroup hierarchy' 'single mountpoint!') [$cgroupSubsystemDir]"
else
echo "$(wrap_bad 'cgroup hierarchy' 'nonexistent??')"
fi
echo " $(wrap_color '(see https://github.com/tianon/cgroupfs-mount)' yellow)"
fi
flags=(
NAMESPACES {NET,PID,IPC,UTS}_NS
DEVPTS_MULTIPLE_INSTANCES
CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED
MACVLAN VETH BRIDGE
NF_NAT_IPV4 IP_NF_TARGET_MASQUERADE
NETFILTER_XT_MATCH_{ADDRTYPE,CONNTRACK}
NF_NAT NF_NAT_NEEDED
)
check_flags "${flags[@]}"
echo
echo 'Optional Features:'
flags=(
MEMCG_SWAP
RESOURCE_COUNTERS
)
check_flags "${flags[@]}"
echo '- Storage Drivers:'
{
echo '- "'$(wrap_color 'aufs' blue)'":'
check_flags AUFS_FS | sed 's/^/ /'
if ! is_set AUFS_FS && grep -q aufs /proc/filesystems; then
echo " $(wrap_color '(note that some kernels include AUFS patches but not the AUFS_FS flag)' bold black)"
fi
echo '- "'$(wrap_color 'btrfs' blue)'":'
check_flags BTRFS_FS | sed 's/^/ /'
echo '- "'$(wrap_color 'devicemapper' blue)'":'
check_flags BLK_DEV_DM DM_THIN_PROVISIONING EXT4_FS | sed 's/^/ /'
} | sed 's/^/ /'
echo
#echo 'Potential Future Features:'
#check_flags USER_NS
#echo
+17 -19
View File
@@ -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
@@ -392,11 +384,8 @@ _docker_port()
_docker_ps()
{
case "$prev" in
--since-id|--before-id)
COMPREPLY=( $( compgen -W "$( __docker_q ps -a -q )" -- "$cur" ) )
# TODO replace this with __docker_containers_all
# see https://github.com/dotcloud/docker/issues/3565
return
--since|--before)
__docker_containers_all
;;
-n)
return
@@ -407,7 +396,7 @@ _docker_ps()
case "$cur" in
-*)
COMPREPLY=( $( compgen -W "-q --quiet -s --size -a --all --no-trunc -l --latest --since-id --before-id -n" -- "$cur" ) )
COMPREPLY=( $( compgen -W "-q --quiet -s --size -a --all --no-trunc -l --latest --since --before -n" -- "$cur" ) )
;;
*)
;;
@@ -441,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
}
@@ -471,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
}
@@ -542,7 +540,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" ) )
;;
*)
;;
+26 -26
View File
@@ -26,36 +26,38 @@ end
function __fish_print_docker_containers --description 'Print a list of docker containers' -a select
switch $select
case running
docker ps -a --no-trunc | awk 'NR>1' | awk 'BEGIN {FS=" +"}; $5 ~ "^Up" {print $1 "\n" $(NF-1)}' | tr ',' '\n'
docker ps -a --no-trunc | command awk 'NR>1' | command awk 'BEGIN {FS=" +"}; $5 ~ "^Up" {print $1 "\n" $(NF-1)}' | tr ',' '\n'
case stopped
docker ps -a --no-trunc | awk 'NR>1' | awk 'BEGIN {FS=" +"}; $5 ~ "^Exit" {print $1 "\n" $(NF-1)}' | tr ',' '\n'
docker ps -a --no-trunc | command awk 'NR>1' | command awk 'BEGIN {FS=" +"}; $5 ~ "^Exit" {print $1 "\n" $(NF-1)}' | tr ',' '\n'
case all
docker ps -a --no-trunc | awk 'NR>1' | awk 'BEGIN {FS=" +"}; {print $1 "\n" $(NF-1)}' | tr ',' '\n'
docker ps -a --no-trunc | command awk 'NR>1' | command awk 'BEGIN {FS=" +"}; {print $1 "\n" $(NF-1)}' | tr ',' '\n'
end
end
function __fish_print_docker_images --description 'Print a list of docker images'
docker images | awk 'NR>1' | grep -v '<none>' | awk '{print $1":"$2}'
docker images | command awk 'NR>1' | command grep -v '<none>' | command awk '{print $1":"$2}'
end
function __fish_print_docker_repositories --description 'Print a list of docker repositories'
docker images | awk 'NR>1' | grep -v '<none>' | awk '{print $1}' | sort | uniq
docker images | command awk 'NR>1' | command grep -v '<none>' | command awk '{print $1}' | command sort | command uniq
end
# common options
complete -c docker -f -n '__fish_docker_no_subcommand' -s D -l debug -d 'Enable debug mode'
complete -c docker -f -n '__fish_docker_no_subcommand' -s G -l group -d "Group to assign the unix socket specified by -H when running in daemon mode; use '' (the empty string) to disable setting of a group"
complete -c docker -f -n '__fish_docker_no_subcommand' -s H -l host -d 'tcp://host:port, unix://path/to/socket, fd://* or fd://socketfd to use in daemon mode. Multiple sockets can be specified'
complete -c docker -f -n '__fish_docker_no_subcommand' -l api-enable-cors -d 'Enable CORS headers in the remote API'
complete -c docker -f -n '__fish_docker_no_subcommand' -s b -l bridge -d "Attach containers to a pre-existing network bridge; use 'none' to disable container networking"
complete -c docker -f -n '__fish_docker_no_subcommand' -l bip -d "Use this CIDR notation address for the network bridge's IP, not compatible with -b"
complete -c docker -f -n '__fish_docker_no_subcommand' -s d -l daemon -d 'Enable daemon mode'
complete -c docker -f -n '__fish_docker_no_subcommand' -l dns -d 'Force docker to use specific DNS servers'
complete -c docker -f -n '__fish_docker_no_subcommand' -s e -l exec-driver -d 'Force the docker runtime to use a specific exec driver'
complete -c docker -f -n '__fish_docker_no_subcommand' -s g -l graph -d 'Path to use as the root of the docker runtime'
complete -c docker -f -n '__fish_docker_no_subcommand' -l icc -d 'Enable inter-container communication'
complete -c docker -f -n '__fish_docker_no_subcommand' -l ip -d 'Default IP address to use when binding container ports'
complete -c docker -f -n '__fish_docker_no_subcommand' -l ip-forward -d 'Disable enabling of net.ipv4.ip_forward'
complete -c docker -f -n '__fish_docker_no_subcommand' -l iptables -d "Disable docker's addition of iptables rules"
complete -c docker -f -n '__fish_docker_no_subcommand' -l mtu -d 'Set the containers network MTU; if no value is provided: default to the default route MTU or 1500 if not default route is available'
complete -c docker -f -n '__fish_docker_no_subcommand' -l mtu -d 'Set the containers network MTU; if no value is provided: default to the default route MTU or 1500 if no default route is available'
complete -c docker -f -n '__fish_docker_no_subcommand' -s p -l pidfile -d 'Path to use for daemon PID file'
complete -c docker -f -n '__fish_docker_no_subcommand' -s r -l restart -d 'Restart previously running containers'
complete -c docker -f -n '__fish_docker_no_subcommand' -s s -l storage-driver -d 'Force the docker runtime to use a specific storage driver'
@@ -69,21 +71,21 @@ 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 verbose build output'
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'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s t -l tag -d 'Repository name (and optionally a tag) to be applied to the resulting image in case of success'
# 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"
@@ -100,16 +102,16 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from export' -a '(__fish_pri
# history
complete -c docker -f -n '__fish_docker_no_subcommand' -a history -d 'Show the history of an image'
complete -c docker -A -f -n '__fish_seen_subcommand_from history' -l no-trunc -d "Don't truncate output"
complete -c docker -A -f -n '__fish_seen_subcommand_from history' -s q -l quiet -d 'only show numeric IDs'
complete -c docker -A -f -n '__fish_seen_subcommand_from history' -s q -l quiet -d 'Only show numeric IDs'
complete -c docker -A -f -n '__fish_seen_subcommand_from history' -a '(__fish_print_docker_images)' -d "Image"
# images
complete -c docker -f -n '__fish_docker_no_subcommand' -a images -d 'List images'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s a -l all -d 'show all images (by default filter out the intermediate images used to build)'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s a -l all -d 'Show all images (by default filter out the intermediate image layers)'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -l no-trunc -d "Don't truncate output"
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s q -l quiet -d 'only show numeric IDs'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s t -l tree -d 'output graph in tree format'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s v -l viz -d 'output graph in graphviz format'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s q -l quiet -d 'Only show numeric IDs'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s t -l tree -d 'Output graph in tree format'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s v -l viz -d 'Output graph in graphviz format'
complete -c docker -A -f -n '__fish_seen_subcommand_from images' -a '(__fish_print_docker_repositories)' -d "Repository"
# import
@@ -118,15 +120,11 @@ 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.'
complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -a '(__fish_print_docker_images)' -d "Image"
complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -a '(__fish_print_docker_containers running)' -d "Container"
complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -a '(__fish_print_docker_containers all)' -d "Container"
# kill
complete -c docker -f -n '__fish_docker_no_subcommand' -a kill -d 'Kill a running container'
@@ -138,9 +136,9 @@ complete -c docker -f -n '__fish_docker_no_subcommand' -a load -d 'Load an image
# login
complete -c docker -f -n '__fish_docker_no_subcommand' -a login -d 'Register or Login to the docker registry server'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s e -l email -d 'email'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s p -l password -d 'password'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s u -l username -d 'username'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s e -l email -d 'Email'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s p -l password -d 'Password'
complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s u -l username -d 'Username'
# logs
complete -c docker -f -n '__fish_docker_no_subcommand' -a logs -d 'Fetch the logs of a container'
@@ -154,13 +152,13 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from port' -a '(__fish_print
# ps
complete -c docker -f -n '__fish_docker_no_subcommand' -a ps -d 'List containers'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s a -l all -d 'Show all containers. Only running containers are shown by default.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l before-id -d 'Show only container created before Id, include non-running ones.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l before -d 'Show only container created before Id or Name, include non-running ones.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s l -l latest -d 'Show only the latest created container, include non-running ones.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s n -d 'Show n last created containers, include non-running ones.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l no-trunc -d "Don't truncate output"
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s q -l quiet -d 'Only display numeric IDs'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s s -l size -d 'Display sizes'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l since-id -d 'Show only containers created since Id, include non-running ones.'
complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l since -d 'Show only containers created since Id or Name, include non-running ones.'
# pull
complete -c docker -f -n '__fish_docker_no_subcommand' -a pull -d 'Pull an image or a repository from the docker registry server'
@@ -180,12 +178,14 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from restart' -a '(__fish_pr
# rm
complete -c docker -f -n '__fish_docker_no_subcommand' -a rm -d 'Remove one or more containers'
complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s f -l force -d 'Force removal of running container'
complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s l -l link -d 'Remove the specified link and not the underlying container'
complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s v -l volumes -d 'Remove the volumes associated to the container'
complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -a '(__fish_print_docker_containers stopped)' -d "Container"
# rmi
complete -c docker -f -n '__fish_docker_no_subcommand' -a rmi -d 'Remove one or more images'
complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -s f -l force -d 'Force'
complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -a '(__fish_print_docker_images)' -d "Image"
# run
@@ -225,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
+2 -7
View File
@@ -1,6 +1,6 @@
#compdef docker
#
# zsh completion for docker (http://docker.io)
# zsh completion for docker (http://docker.com)
#
# version: 0.2.2
# author: Felix Riedel
@@ -139,11 +139,6 @@ __docker_subcommand () {
(history)
_arguments ':images:__docker_images'
;;
(insert)
_arguments '1:containers:__docker_containers' \
'2:URL:(http:// file://)' \
'3:file:_files'
;;
(kill)
_arguments '*:containers:__docker_runningcontainers'
;;
@@ -174,7 +169,7 @@ __docker_subcommand () {
(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' \
'--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)'
;;
(tag)
+4 -4
View File
@@ -6,16 +6,16 @@
# /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 -rm .
# docker build -t data .
#
# # Create a data container. (eg: iceweasel-data)
# docker run -name iceweasel-data data true
# docker run --name iceweasel-data data true
#
# # List data from it
# docker run -volumes-from iceweasel-data busybox ls -al /data
# docker run --volumes-from iceweasel-data busybox ls -al /data
docker-version 0.6.5
@@ -7,19 +7,19 @@
# 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 -rm .
# docker build -t iceweasel .
#
# # Run stateful data-on-host iceweasel. For ephemeral, remove -v /data/iceweasel:/data
# docker run -v /data/iceweasel:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
# -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
# -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
# -e DISPLAY=unix$DISPLAY iceweasel
#
# # To run stateful dockerized data containers
# docker run -volumes-from iceweasel-data -v /tmp/.X11-unix:/tmp/.X11-unix \
# -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
# docker run --volumes-from iceweasel-data -v /tmp/.X11-unix:/tmp/.X11-unix \
# -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
# -e DISPLAY=unix$DISPLAY iceweasel
docker-version 0.6.5
+1 -1
View File
@@ -3,7 +3,7 @@ package main
import (
"flag"
"fmt"
"github.com/dotcloud/docker/graphdriver/devmapper"
"github.com/dotcloud/docker/daemon/graphdriver/devmapper"
"os"
"path"
"sort"
+1 -1
View File
@@ -6,7 +6,7 @@
#
FROM ubuntu:12.10
MAINTAINER Guillaume J. Charmes <guillaume@dotcloud.com>
MAINTAINER Guillaume J. Charmes <guillaume@docker.com>
RUN apt-get update && apt-get install -y wget git mercurial
+1 -1
View File
@@ -1,4 +1,4 @@
FROM busybox
MAINTAINER Guillaume J. Charmes <guillaume@dotcloud.com>
MAINTAINER Guillaume J. Charmes <guillaume@docker.com>
ADD manager /usr/bin/
ENTRYPOINT ["/usr/bin/manager"]
+1 -1
View File
@@ -70,7 +70,7 @@ func main() {
bufErr := bytes.NewBuffer(nil)
// Instanciate the Docker CLI
cli := docker.NewDockerCli(nil, bufOut, bufErr, "unix", "/var/run/docker.sock")
cli := docker.NewDockerCli(nil, bufOut, bufErr, "unix", "/var/run/docker.sock", false, nil)
// Retrieve the container info
if err := cli.CmdInspect(flag.Arg(0)); err != nil {
// As of docker v0.6.3, CmdInspect always returns nil
+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" \
+1 -1
View File
@@ -1,6 +1,6 @@
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
Documentation=http://docs.docker.com
After=network.target
[Service]
@@ -1,6 +1,6 @@
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
Documentation=http://docs.docker.com
After=network.target
[Service]
+45 -17
View File
@@ -4,6 +4,8 @@
# 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 +22,11 @@ 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"
@@ -50,46 +56,68 @@ fail_unless_root() {
fi
}
cgroupfs_mount() {
# see also https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
if grep -v '^#' /etc/fstab | grep -q cgroup \
|| [ ! -e /proc/cgroups ] \
|| [ ! -d /sys/fs/cgroup ]; then
return
fi
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
(
cd /sys/fs/cgroup
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
)
}
case "$1" in
start)
fail_unless_root
if ! grep -q cgroup /proc/mounts; then
# rough approximation of cgroupfs-mount
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
for sys in $(cut -d' ' -f1 /proc/cgroups); do
mkdir -p /sys/fs/cgroup/$sys
if ! mount -n -t cgroup -o $sys cgroup /sys/fs/cgroup/$sys 2>/dev/null; then
rmdir /sys/fs/cgroup/$sys 2>/dev/null || true
fi
done
fi
cgroupfs_mount
touch /var/log/docker.log
chgrp docker /var/log/docker.log
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 \
> /var/log/docker.log 2>&1
>> "$DOCKER_LOGFILE" 2>&1
log_end_msg $?
;;
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
@@ -102,7 +130,7 @@ case "$1" in
;;
status)
status_of_proc -p "$DOCKER_PIDFILE" "$DOCKER" docker
status_of_proc -p "$DOCKER_SSD_PIDFILE" "$DOCKER" docker
;;
*)
+1 -1
View File
@@ -4,7 +4,7 @@
#DOCKER="/usr/local/bin/docker"
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
+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/dotcloud/docker/issues/5359
tries=0
while [ ! -f $pidfile -a $tries -lt 10 ]; do
sleep 1
tries=$((tries + 1))
done
success
echo
else
+27 -12
View File
@@ -1,10 +1,35 @@
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
respawn
pre-start script
# see also https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
if grep -v '^#' /etc/fstab | grep -q cgroup \
|| [ ! -e /proc/cgroups ] \
|| [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
(
cd /sys/fs/cgroup
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
)
end script
script
# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
DOCKER=/usr/bin/$UPSTART_JOB
@@ -12,15 +37,5 @@ script
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi
if ! grep -q cgroup /proc/mounts; then
# rough approximation of cgroupfs-mount
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
for sys in $(cut -d' ' -f1 /proc/cgroups); do
mkdir -p /sys/fs/cgroup/$sys
if ! mount -n -t cgroup -o $sys cgroup /sys/fs/cgroup/$sys 2>/dev/null; then
rmdir /sys/fs/cgroup/$sys 2>/dev/null || true
fi
done
fi
"$DOCKER" -d $DOCKER_OPTS
exec "$DOCKER" -d $DOCKER_OPTS
end script
+82
View File
@@ -0,0 +1,82 @@
#!/bin/sh
set -e
[ $(id -u) -eq 0 ] || {
printf >&2 '%s requires root\n' "$0"
exit 1
}
usage() {
printf >&2 '%s: [-r release] [-m mirror] [-s]\n' "$0"
exit 1
}
tmp() {
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 |
grep '^P:apk-tools-static$' -A1 | tail -n1 | cut -d: -f2
}
getapk() {
curl -s $REPO/$ARCH/apk-tools-static-$(apkv).apk |
tar -xz -C $TMP sbin/apk.static
}
mkbase() {
$TMP/sbin/apk.static --repository $REPO --update-cache --allow-untrusted \
--root $ROOTFS --initdb add alpine-base
}
conf() {
printf '%s\n' $REPO > $ROOTFS/etc/apk/repositories
}
pack() {
local id
id=$(tar --numeric-owner -C $ROOTFS -c . | docker import - alpine:$REL)
docker tag $id alpine:latest
docker run -i -t alpine printf 'alpine:%s with id=%s created!\n' $REL $id
}
save() {
[ $SAVE -eq 1 ] || return
tar --numeric-owner -C $ROOTFS -c . | xz > rootfs.tar.xz
}
while getopts "hr:m:s" opt; do
case $opt in
r)
REL=$OPTARG
;;
m)
MIRROR=$OPTARG
;;
s)
SAVE=1
;;
*)
usage
;;
esac
done
REL=${REL:-edge}
MIRROR=${MIRROR:-http://nl.alpinelinux.org/alpine}
SAVE=${SAVE:-0}
REPO=$MIRROR/$REL/main
ARCH=$(uname -m)
tmp
getapk
mkbase
conf
pack
save
+3 -20
View File
@@ -9,31 +9,13 @@ hash pacstrap &>/dev/null || {
exit 1
}
hash expect &>/dev/null || {
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 }
}
EOF
pacstrap -C ./mkimage-arch-pacman.conf -c -d -G -i $ROOTFS base haveged --ignore $PKGIGNORE
arch-chroot $ROOTFS /bin/sh -c "haveged -w 1024; pacman-key --init; pkill haveged; pacman -Rs --noconfirm haveged; pacman-key --populate archlinux"
arch-chroot $ROOTFS /bin/sh -c "ln -s /usr/share/zoneinfo/UTC /etc/localtime"
@@ -57,6 +39,7 @@ mknod -m 666 $DEV/tty0 c 4 0
mknod -m 666 $DEV/full c 1 7
mknod -m 600 $DEV/initctl p
mknod -m 666 $DEV/ptmx c 5 2
ln -sf /proc/self/fd $DEV/fd
tar --numeric-owner -C $ROOTFS -c . | docker import - archlinux
docker run -i -t archlinux echo Success.
+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 -2
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)"
@@ -219,6 +223,7 @@ if [ -z "$strictDebootstrap" ]; then
# make sure our packages lists are as up to date as we can get them
sudo chroot . apt-get update
sudo chroot . apt-get dist-upgrade -y
fi
if [ "$justTar" ]; then
+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
)
+176
View File
@@ -0,0 +1,176 @@
#!/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/dotcloud/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
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' ]; then
head -1 "$rootfsDir/etc/apt/sources.list" \
| sed "s/ $suite / ${suite}-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
)
+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
)
+1 -1
View File
@@ -10,7 +10,7 @@
# can configure the list of syscalls. When run, this script produces output
# which, when stored in a file, can be passed to docker as follows:
#
# docker run -lxc-conf="lxc.seccomp=$file" <rest of arguments>
# docker run --lxc-conf="lxc.seccomp=$file" <rest of arguments>
#
# The included sample file shows how to cut about a quarter of all syscalls,
# which affecting most applications.
@@ -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 >
```
-1
View File
@@ -1 +0,0 @@
Gurjeet Singh <gurjeet@singh.im> (gurjeet.singh.im)
-23
View File
@@ -1,23 +0,0 @@
# ZFS Storage Driver
This is a placeholder to declare the presence and status of ZFS storage driver
for containers.
The current development is done in Gurjeet Singh's fork of Docker, under the
branch named [zfs_driver].
[zfs_driver]: https://github.com/gurjeet/docker/tree/zfs_driver
# Status
Alpha: The code is now capable of creating, running and destroying containers
and images.
The code is under development. Contributions in the form of suggestions,
code-reviews, and patches are welcome.
Please send the communication to gurjeet@singh.im and CC at least one Docker
mailing list.
+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
+153
View File
@@ -0,0 +1,153 @@
package daemon
import (
"io"
"github.com/dotcloud/docker/utils"
)
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
nJobs int
errors = make(chan error, 3)
)
if stdin != nil && container.Config.OpenStdin {
nJobs += 1
if cStdin, err := container.StdinPipe(); err != nil {
errors <- err
} else {
go func() {
utils.Debugf("attach: stdin: begin")
defer utils.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()
} else {
defer func() {
if cStdout != nil {
cStdout.Close()
}
if cStderr != nil {
cStderr.Close()
}
}()
}
if container.Config.Tty {
_, err = utils.CopyEscapable(cStdin, stdin)
} else {
_, err = io.Copy(cStdin, stdin)
}
if err == io.ErrClosedPipe {
err = nil
}
if err != nil {
utils.Errorf("attach: stdin: %s", err)
}
errors <- err
}()
}
}
if stdout != nil {
nJobs += 1
if p, err := container.StdoutPipe(); err != nil {
errors <- err
} else {
cStdout = p
go func() {
utils.Debugf("attach: stdout: begin")
defer utils.Debugf("attach: stdout: end")
// If we are in StdinOnce mode, then close stdin
if container.Config.StdinOnce && stdin != nil {
defer stdin.Close()
}
if stdinCloser != nil {
defer stdinCloser.Close()
}
_, err := io.Copy(stdout, cStdout)
if err == io.ErrClosedPipe {
err = nil
}
if err != nil {
utils.Errorf("attach: stdout: %s", err)
}
errors <- err
}()
}
} else {
go func() {
if stdinCloser != nil {
defer stdinCloser.Close()
}
if cStdout, err := container.StdoutPipe(); err != nil {
utils.Errorf("attach: stdout pipe: %s", err)
} else {
io.Copy(&utils.NopWriter{}, cStdout)
}
}()
}
if stderr != nil {
nJobs += 1
if p, err := container.StderrPipe(); err != nil {
errors <- err
} else {
cStderr = p
go func() {
utils.Debugf("attach: stderr: begin")
defer utils.Debugf("attach: stderr: end")
// If we are in StdinOnce mode, then close stdin
if container.Config.StdinOnce && stdin != nil {
defer stdin.Close()
}
if stdinCloser != nil {
defer stdinCloser.Close()
}
_, err := io.Copy(stderr, cStderr)
if err == io.ErrClosedPipe {
err = nil
}
if err != nil {
utils.Errorf("attach: stderr: %s", err)
}
errors <- err
}()
}
} else {
go func() {
if stdinCloser != nil {
defer stdinCloser.Close()
}
if cStderr, err := container.StderrPipe(); err != nil {
utils.Errorf("attach: stdout pipe: %s", err)
} else {
io.Copy(&utils.NopWriter{}, cStderr)
}
}()
}
return utils.Go(func() error {
defer func() {
if cStdout != nil {
cStdout.Close()
}
if cStderr != nil {
cStderr.Close()
}
}()
// 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)
if err := <-errors; err != nil {
utils.Errorf("attach: job %d returned error %s, aborting all jobs", i+1, err)
return err
}
utils.Debugf("attach: job %d completed successfully", i+1)
}
utils.Debugf("attach: all jobs completed successfully")
return nil
})
}
+1181
View File
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
package docker
package daemon
import (
"github.com/dotcloud/docker/nat"
@@ -132,14 +132,14 @@ func TestParseNetworkOptsUdp(t *testing.T) {
}
func TestGetFullName(t *testing.T) {
name, err := getFullName("testing")
name, err := GetFullContainerName("testing")
if err != nil {
t.Fatal(err)
}
if name != "/testing" {
t.Fatalf("Expected /testing got %s", name)
}
if _, err := getFullName(""); err == nil {
if _, err := GetFullContainerName(""); err == nil {
t.Fatal("Error should not be nil")
}
}
+1095
View File
File diff suppressed because it is too large Load Diff
+22
View File
@@ -0,0 +1,22 @@
// +build !exclude_graphdriver_aufs
package daemon
import (
"github.com/dotcloud/docker/daemon/graphdriver"
"github.com/dotcloud/docker/daemon/graphdriver/aufs"
"github.com/dotcloud/docker/graph"
"github.com/dotcloud/docker/utils"
)
// Given the graphdriver ad, if it is aufs, then migrate it.
// If aufs driver is not built, this func is a noop.
func migrateIfAufs(driver graphdriver.Driver, root string) error {
if ad, ok := driver.(*aufs.Driver); ok {
utils.Debugf("Migrating existing containers")
if err := ad.Migrate(root, graph.SetupInitLayer); err != nil {
return err
}
}
return nil
}
+7
View File
@@ -0,0 +1,7 @@
// +build !exclude_graphdriver_btrfs
package daemon
import (
_ "github.com/dotcloud/docker/daemon/graphdriver/btrfs"
)
+7
View File
@@ -0,0 +1,7 @@
// +build !exclude_graphdriver_devicemapper
package daemon
import (
_ "github.com/dotcloud/docker/daemon/graphdriver/devmapper"
)
+11
View File
@@ -0,0 +1,11 @@
// +build exclude_graphdriver_aufs
package daemon
import (
"github.com/dotcloud/docker/daemon/graphdriver"
)
func migrateIfAufs(driver graphdriver.Driver, root string) error {
return nil
}
@@ -1 +1,2 @@
Michael Crosby <michael@crosbymichael.com> (@crosbymichael)
Victor Vieux <vieux@docker.com> (@vieux)
@@ -5,8 +5,14 @@ import (
"io"
"os"
"os/exec"
"github.com/docker/libcontainer/devices"
)
// Context is a generic key value pair that allows
// arbatrary data to be sent
type Context map[string]string
var (
ErrNotRunning = errors.New("Process could not be started")
ErrWaitTimeoutReached = errors.New("Wait timeout reached")
@@ -77,43 +83,63 @@ type TtyTerminal interface {
type Driver interface {
Run(c *Command, pipes *Pipes, startCallback StartCallback) (int, error) // Run executes the process and blocks until the process exits and returns the exit code
Kill(c *Command, sig int) error
Pause(c *Command) error
Unpause(c *Command) error
Name() string // Driver name
Info(id string) Info // "temporary" hack (until we move state from core to plugins)
GetPidsForContainer(id string) ([]int, error) // Returns a list of pids for the given container.
Terminate(c *Command) error // kill it with fire
}
// Network settings of the container
type Network struct {
Interface *NetworkInterface `json:"interface"` // if interface is nil then networking is disabled
Mtu int `json:"mtu"`
ContainerID string `json:"container_id"` // id of the container to join network.
HostNetworking bool `json:"host_networking"`
}
type NetworkInterface struct {
Gateway string `json:"gateway"`
IPAddress string `json:"ip"`
Bridge string `json:"bridge"`
IPPrefixLen int `json:"ip_prefix_len"`
Mtu int `json:"mtu"`
}
type Resources struct {
Memory int64 `json:"memory"`
MemorySwap int64 `json:"memory_swap"`
CpuShares int64 `json:"cpu_shares"`
Memory int64 `json:"memory"`
MemorySwap int64 `json:"memory_swap"`
CpuShares int64 `json:"cpu_shares"`
Cpuset string `json:"cpuset"`
}
type Mount struct {
Source string `json:"source"`
Destination string `json:"destination"`
Writable bool `json:"writable"`
Private bool `json:"private"`
}
// Process wrapps an os/exec.Cmd to add more metadata
type Command struct {
exec.Cmd `json:"-"`
ID string `json:"id"`
Privileged bool `json:"privileged"`
User string `json:"user"`
Rootfs string `json:"rootfs"` // root fs of the container
InitPath string `json:"initpath"` // dockerinit
Entrypoint string `json:"entrypoint"`
Arguments []string `json:"arguments"`
WorkingDir string `json:"working_dir"`
ConfigPath string `json:"config_path"` // this should be able to be removed when the lxc template is moved into the driver
Tty bool `json:"tty"`
Network *Network `json:"network"` // if network is nil then networking is disabled
Config []string `json:"config"` // generic values that specific drivers can consume
Resources *Resources `json:"resources"`
ID string `json:"id"`
Privileged bool `json:"privileged"`
User string `json:"user"`
Rootfs string `json:"rootfs"` // root fs of the container
InitPath string `json:"initpath"` // dockerinit
Entrypoint string `json:"entrypoint"`
Arguments []string `json:"arguments"`
WorkingDir string `json:"working_dir"`
ConfigPath string `json:"config_path"` // this should be able to be removed when the lxc template is moved into the driver
Tty bool `json:"tty"`
Network *Network `json:"network"`
Config map[string][]string `json:"config"` // generic values that specific drivers can consume
Resources *Resources `json:"resources"`
Mounts []Mount `json:"mounts"`
AllowedDevices []*devices.Device `json:"allowed_devices"`
AutoCreatedDevices []*devices.Device `json:"autocreated_devices"`
Terminal Terminal `json:"-"` // standard or tty terminal
Console string `json:"-"` // dev/console path
@@ -0,0 +1,23 @@
package execdrivers
import (
"fmt"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/daemon/execdriver/lxc"
"github.com/dotcloud/docker/daemon/execdriver/native"
"github.com/dotcloud/docker/pkg/sysinfo"
"path"
)
func NewDriver(name, root, initPath string, sysInfo *sysinfo.SysInfo) (execdriver.Driver, error) {
switch name {
case "lxc":
// we want to give the lxc driver the full docker root because it needs
// to access and write config and template files in /var/lib/docker/containers/*
// to be backwards compatible
return lxc.NewDriver(root, sysInfo.AppArmor)
case "native":
return native.NewDriver(path.Join(root, "execdriver", "native"), initPath)
}
return nil, fmt.Errorf("unknown exec driver %s", name)
}
+1
View File
@@ -0,0 +1 @@
Dinesh Subhraveti <dineshs@altiscale.com> (@dineshs-altiscale)
@@ -1,43 +1,42 @@
package lxc
import (
"encoding/json"
"fmt"
"github.com/dotcloud/docker/execdriver"
"github.com/dotcloud/docker/pkg/cgroups"
"github.com/dotcloud/docker/utils"
"io/ioutil"
"log"
"os"
"os/exec"
"path"
"path/filepath"
"runtime"
"strconv"
"strings"
"syscall"
"time"
"github.com/docker/libcontainer/cgroups"
"github.com/docker/libcontainer/label"
"github.com/docker/libcontainer/mount/nodes"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/utils"
)
const DriverName = "lxc"
func init() {
execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
runtime.LockOSThread()
if err := setupEnv(args); err != nil {
return err
}
if err := setupHostname(args); err != nil {
return err
}
if err := setupNetworking(args); err != nil {
return err
}
if err := setupCapabilities(args); err != nil {
return err
}
if err := setupWorkingDirectory(args); err != nil {
return err
}
if err := changeUser(args); err != nil {
if err := finalizeNamespace(args); err != nil {
return err
}
@@ -80,6 +79,9 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
if err := execdriver.SetTerminal(c, pipes); err != nil {
return -1, err
}
if err := d.generateEnvConfig(c); err != nil {
return -1, err
}
configPath, err := d.generateLXCConfig(c)
if err != nil {
return -1, err
@@ -94,13 +96,15 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
DriverName,
}
if c.Network != nil {
if c.Network.Interface != nil {
params = append(params,
"-g", c.Network.Gateway,
"-i", fmt.Sprintf("%s/%d", c.Network.IPAddress, c.Network.IPPrefixLen),
"-mtu", strconv.Itoa(c.Network.Mtu),
"-g", c.Network.Interface.Gateway,
"-i", fmt.Sprintf("%s/%d", c.Network.Interface.IPAddress, c.Network.Interface.IPPrefixLen),
)
}
params = append(params,
"-mtu", strconv.Itoa(c.Network.Mtu),
)
if c.User != "" {
params = append(params, "-u", c.User)
@@ -148,6 +152,10 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
c.Path = aname
c.Args = append([]string{name}, arg...)
if err := nodes.CreateDeviceNodes(c.Rootfs, c.AutoCreatedDevices); err != nil {
return -1, err
}
if err := c.Start(); err != nil {
return -1, err
}
@@ -156,6 +164,7 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
waitErr error
waitLock = make(chan struct{})
)
go func() {
if err := c.Wait(); err != nil {
if _, ok := err.(*exec.ExitError); !ok { // Do not propagate the error if it's simply a status code != 0
@@ -168,8 +177,13 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
// Poll lxc for RUNNING status
pid, err := d.waitForStart(c, waitLock)
if err != nil {
if c.Process != nil {
c.Process.Kill()
c.Wait()
}
return -1, err
}
c.ContainerPid = pid
if startCallback != nil {
@@ -194,6 +208,34 @@ func (d *driver) Kill(c *execdriver.Command, sig int) error {
return KillLxc(c.ID, sig)
}
func (d *driver) Pause(c *execdriver.Command) error {
_, err := exec.LookPath("lxc-freeze")
if err == nil {
output, errExec := exec.Command("lxc-freeze", "-n", c.ID).CombinedOutput()
if errExec != nil {
return fmt.Errorf("Err: %s Output: %s", errExec, output)
}
}
return err
}
func (d *driver) Unpause(c *execdriver.Command) error {
_, err := exec.LookPath("lxc-unfreeze")
if err == nil {
output, errExec := exec.Command("lxc-unfreeze", "-n", c.ID).CombinedOutput()
if errExec != nil {
return fmt.Errorf("Err: %s Output: %s", errExec, output)
}
}
return err
}
func (d *driver) Terminate(c *execdriver.Command) error {
return KillLxc(c.ID, 9)
}
func (d *driver) version() string {
var (
version string
@@ -250,18 +292,14 @@ func (d *driver) waitForStart(c *execdriver.Command, waitLock chan struct{}) (in
}
output, err = d.getInfo(c.ID)
if err != nil {
output, err = d.getInfo(c.ID)
if err == nil {
info, err := parseLxcInfo(string(output))
if err != nil {
return -1, err
}
}
info, err := parseLxcInfo(string(output))
if err != nil {
return -1, err
}
if info.Running {
return info.Pid, nil
if info.Running {
return info.Pid, nil
}
}
time.Sleep(50 * time.Millisecond)
}
@@ -369,21 +407,47 @@ func rootIsShared() bool {
}
func (d *driver) generateLXCConfig(c *execdriver.Command) (string, error) {
root := path.Join(d.root, "containers", c.ID, "config.lxc")
var (
process, mount string
root = path.Join(d.root, "containers", c.ID, "config.lxc")
labels = c.Config["label"]
)
fo, err := os.Create(root)
if err != nil {
return "", err
}
defer fo.Close()
if len(labels) > 0 {
process, mount, err = label.GenLabels(labels[0])
if err != nil {
return "", err
}
}
if err := LxcTemplateCompiled.Execute(fo, struct {
*execdriver.Command
AppArmor bool
AppArmor bool
ProcessLabel string
MountLabel string
}{
Command: c,
AppArmor: d.apparmor,
Command: c,
AppArmor: d.apparmor,
ProcessLabel: process,
MountLabel: mount,
}); err != nil {
return "", err
}
return root, nil
}
func (d *driver) generateEnvConfig(c *execdriver.Command) error {
data, err := json.Marshal(c.Env)
if err != nil {
return err
}
p := path.Join(d.root, "containers", c.ID, "config.env")
c.Mounts = append(c.Mounts, execdriver.Mount{p, "/.dockerenv", false, true})
return ioutil.WriteFile(p, data, 0600)
}
@@ -36,7 +36,7 @@ func parseLxcInfo(raw string) (*lxcInfo, error) {
if len(parts) < 2 {
continue
}
switch strings.TrimSpace(parts[0]) {
switch strings.ToLower(strings.TrimSpace(parts[0])) {
case "state":
info.Running = strings.TrimSpace(parts[1]) == "RUNNING"
case "pid":
@@ -1,17 +1,46 @@
package lxc
import (
"encoding/json"
"fmt"
"github.com/dotcloud/docker/execdriver"
"github.com/dotcloud/docker/pkg/netlink"
"github.com/dotcloud/docker/pkg/user"
"github.com/syndtr/gocapability/capability"
"io/ioutil"
"net"
"os"
"strings"
"syscall"
"github.com/docker/libcontainer/netlink"
"github.com/dotcloud/docker/daemon/execdriver"
)
// Clear environment pollution introduced by lxc-start
func setupEnv(args *execdriver.InitArgs) error {
// Get env
var env []string
content, err := ioutil.ReadFile(".dockerenv")
if err != nil {
return fmt.Errorf("Unable to load environment variables: %v", err)
}
if err := json.Unmarshal(content, &env); err != nil {
return fmt.Errorf("Unable to unmarshal environment variables: %v", err)
}
// Propagate the plugin-specific container env variable
env = append(env, "container="+os.Getenv("container"))
args.Env = env
os.Clearenv()
for _, kv := range args.Env {
parts := strings.SplitN(kv, "=", 2)
if len(parts) == 1 {
parts = append(parts, "")
}
os.Setenv(parts[0], parts[1])
}
return nil
}
func setupHostname(args *execdriver.InitArgs) error {
hostname := getEnv(args, "HOSTNAME")
if hostname == "" {
@@ -57,7 +86,7 @@ func setupNetworking(args *execdriver.InitArgs) error {
return fmt.Errorf("Unable to set up networking, %s is not a valid gateway IP", args.Gateway)
}
if err := netlink.AddDefaultGw(gw); err != nil {
if err := netlink.AddDefaultGw(gw.String(), "eth0"); err != nil {
return fmt.Errorf("Unable to set up networking: %v", err)
}
}
@@ -76,65 +105,6 @@ func setupWorkingDirectory(args *execdriver.InitArgs) error {
return nil
}
// Takes care of dropping privileges to the desired user
func changeUser(args *execdriver.InitArgs) error {
uid, gid, suppGids, err := user.GetUserGroupSupplementary(
args.User,
syscall.Getuid(), syscall.Getgid(),
)
if err != nil {
return err
}
if err := syscall.Setgroups(suppGids); err != nil {
return fmt.Errorf("Setgroups failed: %v", err)
}
if err := syscall.Setgid(gid); err != nil {
return fmt.Errorf("Setgid failed: %v", err)
}
if err := syscall.Setuid(uid); err != nil {
return fmt.Errorf("Setuid failed: %v", err)
}
return nil
}
func setupCapabilities(args *execdriver.InitArgs) error {
if args.Privileged {
return nil
}
drop := []capability.Cap{
capability.CAP_SETPCAP,
capability.CAP_SYS_MODULE,
capability.CAP_SYS_RAWIO,
capability.CAP_SYS_PACCT,
capability.CAP_SYS_ADMIN,
capability.CAP_SYS_NICE,
capability.CAP_SYS_RESOURCE,
capability.CAP_SYS_TIME,
capability.CAP_SYS_TTY_CONFIG,
capability.CAP_MKNOD,
capability.CAP_AUDIT_WRITE,
capability.CAP_AUDIT_CONTROL,
capability.CAP_MAC_OVERRIDE,
capability.CAP_MAC_ADMIN,
capability.CAP_NET_ADMIN,
}
c, err := capability.NewPid(os.Getpid())
if err != nil {
return err
}
c.Unset(capability.CAPS|capability.BOUNDS, drop...)
if err := c.Apply(capability.CAPS | capability.BOUNDS); err != nil {
return err
}
return nil
}
func getEnv(args *execdriver.InitArgs, key string) string {
for _, kv := range args.Env {
parts := strings.SplitN(kv, "=", 2)
+62
View File
@@ -0,0 +1,62 @@
// +build amd64
package lxc
import (
"fmt"
"syscall"
"github.com/docker/libcontainer/namespaces"
"github.com/docker/libcontainer/security/capabilities"
"github.com/docker/libcontainer/utils"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/daemon/execdriver/native/template"
"github.com/dotcloud/docker/pkg/system"
)
func setHostname(hostname string) error {
return syscall.Sethostname([]byte(hostname))
}
func finalizeNamespace(args *execdriver.InitArgs) error {
if err := utils.CloseExecFrom(3); err != nil {
return err
}
// We use the native drivers default template so that things like caps are consistent
// across both drivers
container := template.New()
if !args.Privileged {
// drop capabilities in bounding set before changing user
if err := capabilities.DropBoundingSet(container.Capabilities); err != nil {
return fmt.Errorf("drop bounding set %s", err)
}
// preserve existing capabilities while we change users
if err := system.SetKeepCaps(); err != nil {
return fmt.Errorf("set keep caps %s", err)
}
}
if err := namespaces.SetupUser(args.User); err != nil {
return fmt.Errorf("setup user %s", err)
}
if !args.Privileged {
if err := system.ClearKeepCaps(); err != nil {
return fmt.Errorf("clear keep caps %s", err)
}
// drop all other capabilities
if err := capabilities.DropCapabilities(container.Capabilities); err != nil {
return fmt.Errorf("drop capabilities %s", err)
}
}
if err := setupWorkingDirectory(args); err != nil {
return err
}
return nil
}
@@ -0,0 +1,13 @@
// +build !linux !amd64
package lxc
import "github.com/dotcloud/docker/daemon/execdriver"
func setHostname(hostname string) error {
panic("Not supported on darwin")
}
func finalizeNamespace(args *execdriver.InitArgs) error {
panic("Not supported on darwin")
}
@@ -1,22 +1,27 @@
package lxc
import (
"github.com/dotcloud/docker/execdriver"
"strings"
"text/template"
"github.com/docker/libcontainer/label"
"github.com/dotcloud/docker/daemon/execdriver"
)
const LxcTemplate = `
{{if .Network}}
{{if .Network.Interface}}
# network configuration
lxc.network.type = veth
lxc.network.link = {{.Network.Bridge}}
lxc.network.link = {{.Network.Interface.Bridge}}
lxc.network.name = eth0
lxc.network.mtu = {{.Network.Mtu}}
{{else if .Network.HostNetworking}}
lxc.network.type = none
{{else}}
# network is disabled (-n=false)
lxc.network.type = empty
lxc.network.flags = up
lxc.network.mtu = {{.Network.Mtu}}
{{end}}
# root filesystem
@@ -29,6 +34,10 @@ lxc.pts = 1024
# disable the main console
lxc.console = none
{{if .ProcessLabel}}
lxc.se_context = {{ .ProcessLabel}}
{{end}}
{{$MOUNTLABEL := .MountLabel}}
# no controlling tty at all
lxc.tty = 1
@@ -38,33 +47,10 @@ lxc.cgroup.devices.allow = a
{{else}}
# no implicit access to devices
lxc.cgroup.devices.deny = a
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 4:0 rwm
lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/urandom,/dev/random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm
# /dev/pts/ - pts namespaces are "coming soon"
lxc.cgroup.devices.allow = c 136:* rwm
lxc.cgroup.devices.allow = c 5:2 rwm
# tuntap
lxc.cgroup.devices.allow = c 10:200 rwm
# fuse
#lxc.cgroup.devices.allow = c 10:229 rwm
# rtc
#lxc.cgroup.devices.allow = c 254:0 rwm
#Allow the devices passed to us in the AllowedDevices list.
{{range $allowedDevice := .AllowedDevices}}
lxc.cgroup.devices.allow = {{$allowedDevice.GetCgroupAllowString}}
{{end}}
{{end}}
# standard mount point
@@ -73,26 +59,33 @@ lxc.pivotdir = lxc_putold
# NOTICE: These mounts must be applied within the namespace
# WARNING: procfs is a known attack vector and should probably be disabled
# if your userspace allows it. eg. see http://blog.zx2c4.com/749
# WARNING: mounting procfs and/or sysfs read-write is a known attack vector.
# See e.g. http://blog.zx2c4.com/749 and http://bit.ly/T9CkqJ
# We mount them read-write here, but later, dockerinit will call the Restrict() function to remount them read-only.
# We cannot mount them directly read-only, because that would prevent loading AppArmor profiles.
lxc.mount.entry = proc {{escapeFstabSpaces $ROOTFS}}/proc proc nosuid,nodev,noexec 0 0
# WARNING: sysfs is a known attack vector and should probably be disabled
# if your userspace allows it. eg. see http://bit.ly/T9CkqJ
lxc.mount.entry = sysfs {{escapeFstabSpaces $ROOTFS}}/sys sysfs nosuid,nodev,noexec 0 0
{{if .Tty}}
lxc.mount.entry = {{.Console}} {{escapeFstabSpaces $ROOTFS}}/dev/console none bind,rw 0 0
{{end}}
lxc.mount.entry = devpts {{escapeFstabSpaces $ROOTFS}}/dev/pts devpts newinstance,ptmxmode=0666,nosuid,noexec 0 0
lxc.mount.entry = shm {{escapeFstabSpaces $ROOTFS}}/dev/shm tmpfs size=65536k,nosuid,nodev,noexec 0 0
lxc.mount.entry = devpts {{escapeFstabSpaces $ROOTFS}}/dev/pts devpts {{formatMountLabel "newinstance,ptmxmode=0666,nosuid,noexec" $MOUNTLABEL}} 0 0
lxc.mount.entry = shm {{escapeFstabSpaces $ROOTFS}}/dev/shm tmpfs {{formatMountLabel "size=65536k,nosuid,nodev,noexec" $MOUNTLABEL}} 0 0
{{range $value := .Mounts}}
{{if $value.Writable}}
lxc.mount.entry = {{$value.Source}} {{escapeFstabSpaces $ROOTFS}}/{{escapeFstabSpaces $value.Destination}} none bind,rw 0 0
{{else}}
lxc.mount.entry = {{$value.Source}} {{escapeFstabSpaces $ROOTFS}}/{{escapeFstabSpaces $value.Destination}} none bind,ro 0 0
{{end}}
{{end}}
{{if .Privileged}}
{{if .AppArmor}}
lxc.aa_profile = unconfined
{{else}}
#lxc.aa_profile = unconfined
# Let AppArmor normal confinement take place (i.e., not unconfined)
{{end}}
{{end}}
@@ -108,11 +101,14 @@ lxc.cgroup.memory.memsw.limit_in_bytes = {{$memSwap}}
{{if .Resources.CpuShares}}
lxc.cgroup.cpu.shares = {{.Resources.CpuShares}}
{{end}}
{{if .Resources.Cpuset}}
lxc.cgroup.cpuset.cpus = {{.Resources.Cpuset}}
{{end}}
{{end}}
{{if .Config}}
{{range $value := .Config}}
{{$value}}
{{if .Config.lxc}}
{{range $value := .Config.lxc}}
lxc.{{$value}}
{{end}}
{{end}}
`
@@ -134,11 +130,23 @@ func getMemorySwap(v *execdriver.Resources) int64 {
return v.Memory * 2
}
func getLabel(c map[string][]string, name string) string {
label := c["label"]
for _, l := range label {
parts := strings.SplitN(l, "=", 2)
if strings.TrimSpace(parts[0]) == name {
return strings.TrimSpace(parts[1])
}
}
return ""
}
func init() {
var err error
funcMap := template.FuncMap{
"getMemorySwap": getMemorySwap,
"escapeFstabSpaces": escapeFstabSpaces,
"formatMountLabel": label.FormatMountLabel,
}
LxcTemplateCompiled, err = template.New("lxc").Funcs(funcMap).Parse(LxcTemplate)
if err != nil {
@@ -3,7 +3,6 @@ package lxc
import (
"bufio"
"fmt"
"github.com/dotcloud/docker/execdriver"
"io/ioutil"
"math/rand"
"os"
@@ -11,6 +10,9 @@ import (
"strings"
"testing"
"time"
"github.com/docker/libcontainer/devices"
"github.com/dotcloud/docker/daemon/execdriver"
)
func TestLXCConfig(t *testing.T) {
@@ -43,6 +45,11 @@ func TestLXCConfig(t *testing.T) {
Memory: int64(mem),
CpuShares: int64(cpu),
},
Network: &execdriver.Network{
Mtu: 1500,
Interface: nil,
},
AllowedDevices: make([]*devices.Device, 0),
}
p, err := driver.generateLXCConfig(command)
if err != nil {
@@ -71,9 +78,15 @@ func TestCustomLxcConfig(t *testing.T) {
command := &execdriver.Command{
ID: "1",
Privileged: false,
Config: []string{
"lxc.utsname = docker",
"lxc.cgroup.cpuset.cpus = 0,1",
Config: map[string][]string{
"lxc": {
"lxc.utsname = docker",
"lxc.cgroup.cpuset.cpus = 0,1",
},
},
Network: &execdriver.Network{
Mtu: 1500,
Interface: nil,
},
}
@@ -0,0 +1,188 @@
package configuration
import (
"fmt"
"os/exec"
"path/filepath"
"strconv"
"strings"
"github.com/docker/libcontainer"
"github.com/dotcloud/docker/pkg/units"
)
type Action func(*libcontainer.Config, interface{}, string) error
var actions = map[string]Action{
"cap.add": addCap, // add a cap
"cap.drop": dropCap, // drop a cap
"ns.add": addNamespace, // add a namespace
"ns.drop": dropNamespace, // drop a namespace when cloning
"net.join": joinNetNamespace, // join another containers net namespace
"cgroups.cpu_shares": cpuShares, // set the cpu shares
"cgroups.memory": memory, // set the memory limit
"cgroups.memory_reservation": memoryReservation, // set the memory reservation
"cgroups.memory_swap": memorySwap, // set the memory swap limit
"cgroups.cpuset.cpus": cpusetCpus, // set the cpus used
"systemd.slice": systemdSlice, // set parent Slice used for systemd unit
"apparmor_profile": apparmorProfile, // set the apparmor profile to apply
"fs.readonly": readonlyFs, // make the rootfs of the container read only
}
func cpusetCpus(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set cgroups when they are disabled")
}
container.Cgroups.CpusetCpus = value
return nil
}
func systemdSlice(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set slice when cgroups are disabled")
}
container.Cgroups.Slice = value
return nil
}
func apparmorProfile(container *libcontainer.Config, context interface{}, value string) error {
container.AppArmorProfile = value
return nil
}
func cpuShares(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set cgroups when they are disabled")
}
v, err := strconv.ParseInt(value, 10, 0)
if err != nil {
return err
}
container.Cgroups.CpuShares = v
return nil
}
func memory(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set cgroups when they are disabled")
}
v, err := units.RAMInBytes(value)
if err != nil {
return err
}
container.Cgroups.Memory = v
return nil
}
func memoryReservation(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set cgroups when they are disabled")
}
v, err := units.RAMInBytes(value)
if err != nil {
return err
}
container.Cgroups.MemoryReservation = v
return nil
}
func memorySwap(container *libcontainer.Config, context interface{}, value string) error {
if container.Cgroups == nil {
return fmt.Errorf("cannot set cgroups when they are disabled")
}
v, err := strconv.ParseInt(value, 0, 64)
if err != nil {
return err
}
container.Cgroups.MemorySwap = v
return nil
}
func addCap(container *libcontainer.Config, context interface{}, value string) error {
container.Capabilities = append(container.Capabilities, value)
return nil
}
func dropCap(container *libcontainer.Config, context interface{}, value string) error {
// If the capability is specified multiple times, remove all instances.
for i, capability := range container.Capabilities {
if capability == value {
container.Capabilities = append(container.Capabilities[:i], container.Capabilities[i+1:]...)
}
}
// The capability wasn't found so we will drop it anyways.
return nil
}
func addNamespace(container *libcontainer.Config, context interface{}, value string) error {
container.Namespaces[value] = true
return nil
}
func dropNamespace(container *libcontainer.Config, context interface{}, value string) error {
container.Namespaces[value] = false
return nil
}
func readonlyFs(container *libcontainer.Config, context interface{}, value string) error {
switch value {
case "1", "true":
container.MountConfig.ReadonlyFs = true
default:
container.MountConfig.ReadonlyFs = false
}
return nil
}
func joinNetNamespace(container *libcontainer.Config, context interface{}, value string) error {
var (
running = context.(map[string]*exec.Cmd)
cmd = running[value]
)
if cmd == nil || cmd.Process == nil {
return fmt.Errorf("%s is not a valid running container to join", value)
}
nspath := filepath.Join("/proc", fmt.Sprint(cmd.Process.Pid), "ns", "net")
container.Networks = append(container.Networks, &libcontainer.Network{
Type: "netns",
NsPath: nspath,
})
return nil
}
// configureCustomOptions takes string commands from the user and allows modification of the
// container's default configuration.
//
// TODO: this can be moved to a general utils or parser in pkg
func ParseConfiguration(container *libcontainer.Config, running map[string]*exec.Cmd, opts []string) error {
for _, opt := range opts {
kv := strings.SplitN(opt, "=", 2)
if len(kv) < 2 {
return fmt.Errorf("invalid format for %s", opt)
}
action, exists := actions[kv[0]]
if !exists {
return fmt.Errorf("%s is not a valid option for the native driver", kv[0])
}
if err := action(container, running, kv[1]); err != nil {
return err
}
}
return nil
}
@@ -0,0 +1,193 @@
package configuration
import (
"testing"
"github.com/docker/libcontainer/security/capabilities"
"github.com/dotcloud/docker/daemon/execdriver/native/template"
)
// Checks whether the expected capability is specified in the capabilities.
func hasCapability(expected string, capabilities []string) bool {
for _, capability := range capabilities {
if capability == expected {
return true
}
}
return false
}
func TestSetReadonlyRootFs(t *testing.T) {
var (
container = template.New()
opts = []string{
"fs.readonly=true",
}
)
if container.MountConfig.ReadonlyFs {
t.Fatal("container should not have a readonly rootfs by default")
}
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if !container.MountConfig.ReadonlyFs {
t.Fatal("container should have a readonly rootfs")
}
}
func TestConfigurationsDoNotConflict(t *testing.T) {
var (
container1 = template.New()
container2 = template.New()
opts = []string{
"cap.add=NET_ADMIN",
}
)
if err := ParseConfiguration(container1, nil, opts); err != nil {
t.Fatal(err)
}
if !hasCapability("NET_ADMIN", container1.Capabilities) {
t.Fatal("container one should have NET_ADMIN enabled")
}
if hasCapability("NET_ADMIN", container2.Capabilities) {
t.Fatal("container two should not have NET_ADMIN enabled")
}
}
func TestCpusetCpus(t *testing.T) {
var (
container = template.New()
opts = []string{
"cgroups.cpuset.cpus=1,2",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if expected := "1,2"; container.Cgroups.CpusetCpus != expected {
t.Fatalf("expected %s got %s for cpuset.cpus", expected, container.Cgroups.CpusetCpus)
}
}
func TestAppArmorProfile(t *testing.T) {
var (
container = template.New()
opts = []string{
"apparmor_profile=koye-the-protector",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if expected := "koye-the-protector"; container.AppArmorProfile != expected {
t.Fatalf("expected profile %s got %s", expected, container.AppArmorProfile)
}
}
func TestCpuShares(t *testing.T) {
var (
container = template.New()
opts = []string{
"cgroups.cpu_shares=1048",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if expected := int64(1048); container.Cgroups.CpuShares != expected {
t.Fatalf("expected cpu shares %d got %d", expected, container.Cgroups.CpuShares)
}
}
func TestMemory(t *testing.T) {
var (
container = template.New()
opts = []string{
"cgroups.memory=500m",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if expected := int64(500 * 1024 * 1024); container.Cgroups.Memory != expected {
t.Fatalf("expected memory %d got %d", expected, container.Cgroups.Memory)
}
}
func TestMemoryReservation(t *testing.T) {
var (
container = template.New()
opts = []string{
"cgroups.memory_reservation=500m",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if expected := int64(500 * 1024 * 1024); container.Cgroups.MemoryReservation != expected {
t.Fatalf("expected memory reservation %d got %d", expected, container.Cgroups.MemoryReservation)
}
}
func TestAddCap(t *testing.T) {
var (
container = template.New()
opts = []string{
"cap.add=MKNOD",
"cap.add=SYS_ADMIN",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if !hasCapability("MKNOD", container.Capabilities) {
t.Fatal("container should have MKNOD enabled")
}
if !hasCapability("SYS_ADMIN", container.Capabilities) {
t.Fatal("container should have SYS_ADMIN enabled")
}
}
func TestDropCap(t *testing.T) {
var (
container = template.New()
opts = []string{
"cap.drop=MKNOD",
}
)
// enabled all caps like in privileged mode
container.Capabilities = capabilities.GetAllCapabilities()
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if hasCapability("MKNOD", container.Capabilities) {
t.Fatal("container should not have MKNOD enabled")
}
}
func TestDropNamespace(t *testing.T) {
var (
container = template.New()
opts = []string{
"ns.drop=NEWNET",
}
)
if err := ParseConfiguration(container, nil, opts); err != nil {
t.Fatal(err)
}
if container.Namespaces["NEWNET"] {
t.Fatal("container should not have NEWNET enabled")
}
}
+170
View File
@@ -0,0 +1,170 @@
package native
import (
"fmt"
"os"
"os/exec"
"path/filepath"
"github.com/docker/libcontainer"
"github.com/docker/libcontainer/apparmor"
"github.com/docker/libcontainer/devices"
"github.com/docker/libcontainer/mount"
"github.com/docker/libcontainer/security/capabilities"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/daemon/execdriver/native/configuration"
"github.com/dotcloud/docker/daemon/execdriver/native/template"
)
// createContainer populates and configures the container type with the
// data provided by the execdriver.Command
func (d *driver) createContainer(c *execdriver.Command) (*libcontainer.Config, error) {
container := template.New()
container.Hostname = getEnv("HOSTNAME", c.Env)
container.Tty = c.Tty
container.User = c.User
container.WorkingDir = c.WorkingDir
container.Env = c.Env
container.Cgroups.Name = c.ID
container.Cgroups.AllowedDevices = c.AllowedDevices
container.MountConfig.DeviceNodes = c.AutoCreatedDevices
// check to see if we are running in ramdisk to disable pivot root
container.MountConfig.NoPivotRoot = os.Getenv("DOCKER_RAMDISK") != ""
container.RestrictSys = true
if err := d.createNetwork(container, c); err != nil {
return nil, err
}
if c.Privileged {
if err := d.setPrivileged(container); err != nil {
return nil, err
}
}
if err := d.setupCgroups(container, c); err != nil {
return nil, err
}
if err := d.setupMounts(container, c); err != nil {
return nil, err
}
if err := d.setupLabels(container, c); err != nil {
return nil, err
}
cmds := make(map[string]*exec.Cmd)
d.Lock()
for k, v := range d.activeContainers {
cmds[k] = v.cmd
}
d.Unlock()
if err := configuration.ParseConfiguration(container, cmds, c.Config["native"]); err != nil {
return nil, err
}
return container, nil
}
func (d *driver) createNetwork(container *libcontainer.Config, c *execdriver.Command) error {
if c.Network.HostNetworking {
container.Namespaces["NEWNET"] = false
return nil
}
container.Networks = []*libcontainer.Network{
{
Mtu: c.Network.Mtu,
Address: fmt.Sprintf("%s/%d", "127.0.0.1", 0),
Gateway: "localhost",
Type: "loopback",
},
}
if c.Network.Interface != nil {
vethNetwork := libcontainer.Network{
Mtu: c.Network.Mtu,
Address: fmt.Sprintf("%s/%d", c.Network.Interface.IPAddress, c.Network.Interface.IPPrefixLen),
Gateway: c.Network.Interface.Gateway,
Type: "veth",
Bridge: c.Network.Interface.Bridge,
VethPrefix: "veth",
}
container.Networks = append(container.Networks, &vethNetwork)
}
if c.Network.ContainerID != "" {
d.Lock()
active := d.activeContainers[c.Network.ContainerID]
d.Unlock()
if active == nil || active.cmd.Process == nil {
return fmt.Errorf("%s is not a valid running container to join", c.Network.ContainerID)
}
cmd := active.cmd
nspath := filepath.Join("/proc", fmt.Sprint(cmd.Process.Pid), "ns", "net")
container.Networks = append(container.Networks, &libcontainer.Network{
Type: "netns",
NsPath: nspath,
})
}
return nil
}
func (d *driver) setPrivileged(container *libcontainer.Config) (err error) {
container.Capabilities = capabilities.GetAllCapabilities()
container.Cgroups.AllowAllDevices = true
hostDeviceNodes, err := devices.GetHostDeviceNodes()
if err != nil {
return err
}
container.MountConfig.DeviceNodes = hostDeviceNodes
container.RestrictSys = false
if apparmor.IsEnabled() {
container.AppArmorProfile = "unconfined"
}
return nil
}
func (d *driver) setupCgroups(container *libcontainer.Config, c *execdriver.Command) error {
if c.Resources != nil {
container.Cgroups.CpuShares = c.Resources.CpuShares
container.Cgroups.Memory = c.Resources.Memory
container.Cgroups.MemoryReservation = c.Resources.Memory
container.Cgroups.MemorySwap = c.Resources.MemorySwap
container.Cgroups.CpusetCpus = c.Resources.Cpuset
}
return nil
}
func (d *driver) setupMounts(container *libcontainer.Config, c *execdriver.Command) error {
for _, m := range c.Mounts {
container.MountConfig.Mounts = append(container.MountConfig.Mounts, mount.Mount{
Type: "bind",
Source: m.Source,
Destination: m.Destination,
Writable: m.Writable,
Private: m.Private,
})
}
return nil
}
func (d *driver) setupLabels(container *libcontainer.Config, c *execdriver.Command) error {
container.ProcessLabel = c.Config["process_label"][0]
container.MountConfig.MountLabel = c.Config["mount_label"][0]
return nil
}
+276
View File
@@ -0,0 +1,276 @@
package native
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"os/exec"
"path/filepath"
"strings"
"sync"
"syscall"
"github.com/docker/libcontainer"
"github.com/docker/libcontainer/apparmor"
"github.com/docker/libcontainer/cgroups/fs"
"github.com/docker/libcontainer/cgroups/systemd"
"github.com/docker/libcontainer/namespaces"
"github.com/dotcloud/docker/daemon/execdriver"
"github.com/dotcloud/docker/pkg/system"
)
const (
DriverName = "native"
Version = "0.2"
)
func init() {
execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
var container *libcontainer.Config
f, err := os.Open(filepath.Join(args.Root, "container.json"))
if err != nil {
return err
}
if err := json.NewDecoder(f).Decode(&container); err != nil {
f.Close()
return err
}
f.Close()
rootfs, err := os.Getwd()
if err != nil {
return err
}
syncPipe, err := namespaces.NewSyncPipeFromFd(0, uintptr(args.Pipe))
if err != nil {
return err
}
if err := namespaces.Init(container, rootfs, args.Console, syncPipe, args.Args); err != nil {
return err
}
return nil
})
}
type activeContainer struct {
container *libcontainer.Config
cmd *exec.Cmd
}
type driver struct {
root string
initPath string
activeContainers map[string]*activeContainer
sync.Mutex
}
func NewDriver(root, initPath string) (*driver, error) {
if err := os.MkdirAll(root, 0700); err != nil {
return nil, err
}
// native driver root is at docker_root/execdriver/native. Put apparmor at docker_root
if err := apparmor.InstallDefaultProfile(); err != nil {
return nil, err
}
return &driver{
root: root,
initPath: initPath,
activeContainers: make(map[string]*activeContainer),
}, nil
}
func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallback execdriver.StartCallback) (int, error) {
// take the Command and populate the libcontainer.Config from it
container, err := d.createContainer(c)
if err != nil {
return -1, err
}
d.Lock()
d.activeContainers[c.ID] = &activeContainer{
container: container,
cmd: &c.Cmd,
}
d.Unlock()
var (
dataPath = filepath.Join(d.root, c.ID)
args = append([]string{c.Entrypoint}, c.Arguments...)
)
if err := d.createContainerRoot(c.ID); err != nil {
return -1, err
}
defer d.removeContainerRoot(c.ID)
if err := d.writeContainerFile(container, c.ID); err != nil {
return -1, err
}
term := getTerminal(c, pipes)
return namespaces.Exec(container, term, c.Rootfs, dataPath, args, func(container *libcontainer.Config, console, rootfs, dataPath, init string, child *os.File, args []string) *exec.Cmd {
// we need to join the rootfs because namespaces will setup the rootfs and chroot
initPath := filepath.Join(c.Rootfs, c.InitPath)
c.Path = d.initPath
c.Args = append([]string{
initPath,
"-driver", DriverName,
"-console", console,
"-pipe", "3",
"-root", filepath.Join(d.root, c.ID),
"--",
}, args...)
// set this to nil so that when we set the clone flags anything else is reset
c.SysProcAttr = nil
system.SetCloneFlags(&c.Cmd, uintptr(namespaces.GetNamespaceFlags(container.Namespaces)))
c.ExtraFiles = []*os.File{child}
c.Env = container.Env
c.Dir = c.Rootfs
return &c.Cmd
}, func() {
if startCallback != nil {
c.ContainerPid = c.Process.Pid
startCallback(c)
}
})
}
func (d *driver) Kill(p *execdriver.Command, sig int) error {
return syscall.Kill(p.Process.Pid, syscall.Signal(sig))
}
func (d *driver) Pause(c *execdriver.Command) error {
active := d.activeContainers[c.ID]
if active == nil {
return fmt.Errorf("active container for %s does not exist", c.ID)
}
active.container.Cgroups.Freezer = "FROZEN"
if systemd.UseSystemd() {
return systemd.Freeze(active.container.Cgroups, active.container.Cgroups.Freezer)
}
return fs.Freeze(active.container.Cgroups, active.container.Cgroups.Freezer)
}
func (d *driver) Unpause(c *execdriver.Command) error {
active := d.activeContainers[c.ID]
if active == nil {
return fmt.Errorf("active container for %s does not exist", c.ID)
}
active.container.Cgroups.Freezer = "THAWED"
if systemd.UseSystemd() {
return systemd.Freeze(active.container.Cgroups, active.container.Cgroups.Freezer)
}
return fs.Freeze(active.container.Cgroups, active.container.Cgroups.Freezer)
}
func (d *driver) Terminate(p *execdriver.Command) error {
// lets check the start time for the process
state, err := libcontainer.GetState(filepath.Join(d.root, p.ID))
if err != nil {
if !os.IsNotExist(err) {
return err
}
// TODO: Remove this part for version 1.2.0
// This is added only to ensure smooth upgrades from pre 1.1.0 to 1.1.0
data, err := ioutil.ReadFile(filepath.Join(d.root, p.ID, "start"))
if err != nil {
// if we don't have the data on disk then we can assume the process is gone
// because this is only removed after we know the process has stopped
if os.IsNotExist(err) {
return nil
}
return err
}
state = &libcontainer.State{InitStartTime: string(data)}
}
currentStartTime, err := system.GetProcessStartTime(p.Process.Pid)
if err != nil {
return err
}
if state.InitStartTime == currentStartTime {
err = syscall.Kill(p.Process.Pid, 9)
syscall.Wait4(p.Process.Pid, nil, 0, nil)
}
d.removeContainerRoot(p.ID)
return err
}
func (d *driver) Info(id string) execdriver.Info {
return &info{
ID: id,
driver: d,
}
}
func (d *driver) Name() string {
return fmt.Sprintf("%s-%s", DriverName, Version)
}
func (d *driver) GetPidsForContainer(id string) ([]int, error) {
d.Lock()
active := d.activeContainers[id]
d.Unlock()
if active == nil {
return nil, fmt.Errorf("active container for %s does not exist", id)
}
c := active.container.Cgroups
if systemd.UseSystemd() {
return systemd.GetPids(c)
}
return fs.GetPids(c)
}
func (d *driver) writeContainerFile(container *libcontainer.Config, id string) error {
data, err := json.Marshal(container)
if err != nil {
return err
}
return ioutil.WriteFile(filepath.Join(d.root, id, "container.json"), data, 0655)
}
func (d *driver) createContainerRoot(id string) error {
return os.MkdirAll(filepath.Join(d.root, id), 0655)
}
func (d *driver) removeContainerRoot(id string) error {
d.Lock()
delete(d.activeContainers, id)
d.Unlock()
return os.RemoveAll(filepath.Join(d.root, id))
}
func getEnv(key string, env []string) string {
for _, pair := range env {
parts := strings.Split(pair, "=")
if parts[0] == key {
return parts[1]
}
}
return ""
}
func getTerminal(c *execdriver.Command, pipes *execdriver.Pipes) namespaces.Terminal {
var term namespaces.Terminal
if c.Tty {
term = &dockerTtyTerm{
pipes: pipes,
}
} else {
term = &dockerStdTerm{
pipes: pipes,
}
}
c.Terminal = term
return term
}
@@ -3,6 +3,8 @@ package native
import (
"os"
"path/filepath"
"github.com/docker/libcontainer"
)
type info struct {
@@ -14,6 +16,11 @@ type info struct {
// pid file for a container. If the file exists then the
// container is currently running
func (i *info) IsRunning() bool {
if _, err := libcontainer.GetState(filepath.Join(i.driver.root, i.ID)); err == nil {
return true
}
// TODO: Remove this part for version 1.2.0
// This is added only to ensure smooth upgrades from pre 1.1.0 to 1.1.0
if _, err := os.Stat(filepath.Join(i.driver.root, i.ID, "pid")); err == nil {
return true
}
@@ -0,0 +1,45 @@
package template
import (
"github.com/docker/libcontainer"
"github.com/docker/libcontainer/apparmor"
"github.com/docker/libcontainer/cgroups"
)
// New returns the docker default configuration for libcontainer
func New() *libcontainer.Config {
container := &libcontainer.Config{
Capabilities: []string{
"CHOWN",
"DAC_OVERRIDE",
"FOWNER",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID",
"SETFCAP",
"SETPCAP",
"NET_BIND_SERVICE",
"SYS_CHROOT",
"KILL",
},
Namespaces: map[string]bool{
"NEWNS": true,
"NEWUTS": true,
"NEWIPC": true,
"NEWPID": true,
"NEWNET": true,
},
Cgroups: &cgroups.Cgroup{
Parent: "docker",
AllowAllDevices: false,
},
MountConfig: &libcontainer.MountConfig{},
}
if apparmor.IsEnabled() {
container.AppArmorProfile = "docker-default"
}
return container
}

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