Compare commits

...

1633 Commits

Author SHA1 Message Date
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
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
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
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
James Turnbull 874698cb4a Merge pull request #6524 from behemphi/patch-1
Update dockerizing.md
2014-06-19 07:06:02 -05: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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
943 changed files with 79262 additions and 39819 deletions
+3
View File
@@ -23,3 +23,6 @@ bundles/
vendor/pkg/
pyenv
Vagrantfile
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
docs/VERSION
+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=-qW docs man
- hack/make.sh validate-dco
- hack/make.sh validate-gofmt
# vim:set sw=2 ts=2:
+122 -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,17 @@ 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>
@@ -185,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>
@@ -204,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>
@@ -232,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>
@@ -255,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>
@@ -264,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>
@@ -320,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>
+58
View File
@@ -1,5 +1,63 @@
# Changelog
## 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
+13 -13
View File
@@ -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
@@ -178,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``
@@ -188,7 +185,10 @@ 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)
+10 -5
View File
@@ -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
@@ -82,12 +80,19 @@ 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 selinux
+3 -2
View File
@@ -1,7 +1,8 @@
Solomon Hykes <solomon@dotcloud.com> (@shykes)
Guillaume J. Charmes <guillaume@docker.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)
+19 -6
View File
@@ -1,4 +1,4 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-integration test-integration-cli
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli validate
# to allow `make BINDDIR=. shell` or `make BINDDIR= test`
BINDDIR := bundles
@@ -10,8 +10,9 @@ 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 DOCKER_GRAPHDRIVER -e DOCKER_EXECDRIVER $(DOCKER_MOUNT) "$(DOCKER_IMAGE)"
DOCKER_RUN_DOCS := docker run --rm -it -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
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
@@ -25,13 +26,19 @@ cross: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross
docs: docs-build
$(DOCKER_RUN_DOCS)
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" mkdocs serve
docs-shell: docs-build
$(DOCKER_RUN_DOCS) 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 binary test test-integration test-integration-cli
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration test-integration-cli
test-unit: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-unit
test-integration: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-integration
@@ -39,6 +46,9 @@ test-integration: build
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
@@ -46,6 +56,9 @@ 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
docker build -t "$(DOCKER_DOCS_IMAGE)" docs
bundles:
+16 -5
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
==============
@@ -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.10.0
1.0.1
+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
+11 -1
View File
@@ -23,6 +23,9 @@ var funcMap = template.FuncMap{
}
func (cli *DockerCli) getMethod(name string) (func(...string) error, bool) {
if len(name) == 0 {
return nil, false
}
methodName := "Cmd" + strings.ToUpper(name[:1]) + strings.ToLower(name[1:])
method := reflect.ValueOf(cli).MethodByName(methodName)
if !method.IsValid() {
@@ -65,10 +68,15 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, proto, addr string, tlsC
var (
isTerminal = false
terminalFd uintptr
scheme = "http"
)
if tlsConfig != nil {
scheme = "https"
}
if in != nil {
if file, ok := in.(*os.File); ok {
if file, ok := out.(*os.File); ok {
terminalFd = file.Fd()
isTerminal = term.IsTerminal(terminalFd)
}
@@ -86,6 +94,7 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, proto, addr string, tlsC
isTerminal: isTerminal,
terminalFd: terminalFd,
tlsConfig: tlsConfig,
scheme: scheme,
}
}
@@ -99,4 +108,5 @@ type DockerCli struct {
isTerminal bool
terminalFd uintptr
tlsConfig *tls.Config
scheme string
}
+212 -113
View File
@@ -13,7 +13,7 @@ import (
"os"
"os/exec"
"path"
goruntime "runtime"
"runtime"
"strconv"
"strings"
"syscall"
@@ -26,11 +26,14 @@ import (
"github.com/dotcloud/docker/dockerversion"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/nat"
"github.com/dotcloud/docker/opts"
"github.com/dotcloud/docker/pkg/signal"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/pkg/units"
"github.com/dotcloud/docker/registry"
"github.com/dotcloud/docker/runconfig"
"github.com/dotcloud/docker/utils"
"github.com/dotcloud/docker/utils/filters"
)
func (cli *DockerCli) CmdHelp(args ...string) error {
@@ -46,7 +49,7 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
help := fmt.Sprintf("Usage: docker [OPTIONS] COMMAND [arg...]\n -H=[unix://%s]: tcp://host:port to bind/connect to or unix://path/to/socket to use\n\nA self-sufficient runtime for linux containers.\n\nCommands:\n", api.DEFAULTUNIXSOCKET)
for _, command := range [][]string{
{"attach", "Attach to a running container"},
{"build", "Build a container from a Dockerfile"},
{"build", "Build an image from a Dockerfile"},
{"commit", "Create a new image from a container's changes"},
{"cp", "Copy files/folders from the containers filesystem to the host path"},
{"diff", "Inspect changes on a container's filesystem"},
@@ -62,6 +65,7 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
{"login", "Register or Login to the docker registry server"},
{"logs", "Fetch the logs of a container"},
{"port", "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"},
{"pause", "Pause all processes within a container"},
{"ps", "List containers"},
{"pull", "Pull an image or a repository from the docker registry server"},
{"push", "Push an image or a repository to the docker registry server"},
@@ -75,6 +79,7 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
{"stop", "Stop a running container"},
{"tag", "Tag an image into a repository"},
{"top", "Lookup the running processes of a container"},
{"unpause", "Unpause a paused container"},
{"version", "Show the docker version information"},
{"wait", "Block until a container stops, then print its exit code"},
} {
@@ -84,31 +89,13 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
return nil
}
// FIXME: 'insert' is deprecated.
func (cli *DockerCli) CmdInsert(args ...string) error {
fmt.Fprintf(os.Stderr, "Warning: '%s' is deprecated and will be removed in a future version. Please use 'docker build' and 'ADD' instead.\n")
cmd := cli.Subcmd("insert", "IMAGE URL PATH", "Insert a file from URL in the IMAGE at PATH")
if err := cmd.Parse(args); err != nil {
return nil
}
if cmd.NArg() != 3 {
cmd.Usage()
return nil
}
v := url.Values{}
v.Set("url", cmd.Arg(1))
v.Set("path", cmd.Arg(2))
return cli.stream("POST", "/images/"+cmd.Arg(0)+"/insert?"+v.Encode(), nil, cli.out, nil)
}
func (cli *DockerCli) CmdBuild(args ...string) error {
cmd := cli.Subcmd("build", "[OPTIONS] PATH | URL | -", "Build a new container image from the source code at PATH")
cmd := cli.Subcmd("build", "[OPTIONS] PATH | URL | -", "Build a new image from the source code at PATH")
tag := cmd.String([]string{"t", "-tag"}, "", "Repository name (and optionally a tag) to be applied to the resulting image in case of success")
suppressOutput := cmd.Bool([]string{"q", "-quiet"}, false, "Suppress the verbose output generated by the containers")
noCache := cmd.Bool([]string{"#no-cache", "-no-cache"}, false, "Do not use cache when building the image")
rm := cmd.Bool([]string{"#rm", "-rm"}, true, "Remove intermediate containers after a successful build")
forceRm := cmd.Bool([]string{"-force-rm"}, false, "Always remove intermediate containers, even after unsuccessful builds")
if err := cmd.Parse(args); err != nil {
return nil
}
@@ -160,6 +147,9 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
if _, err = os.Stat(filename); os.IsNotExist(err) {
return fmt.Errorf("no Dockerfile found in %s", cmd.Arg(0))
}
if err = utils.ValidateContextDirectory(root); err != nil {
return fmt.Errorf("Error checking context is accessible: '%s'. Please check permissions and try again.", err)
}
context, err = archive.Tar(root, archive.Uncompressed)
}
var body io.Reader
@@ -167,9 +157,9 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
// FIXME: ProgressReader shouldn't be this annoying to use
if context != nil {
sf := utils.NewStreamFormatter(false)
body = utils.ProgressReader(context, 0, cli.err, sf, true, "", "Uploading context")
body = utils.ProgressReader(context, 0, cli.err, sf, true, "", "Sending build context to Docker daemon")
}
// Upload the build context
// Send the build context
v := &url.Values{}
//Check if the given image name can be resolved
@@ -193,6 +183,12 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
}
if *rm {
v.Set("rm", "1")
} else {
v.Set("rm", "0")
}
if *forceRm {
v.Set("forcerm", "1")
}
cli.LoadConfigFile()
@@ -359,7 +355,7 @@ func (cli *DockerCli) CmdVersion(args ...string) error {
fmt.Fprintf(cli.out, "Client version: %s\n", dockerversion.VERSION)
}
fmt.Fprintf(cli.out, "Client API version: %s\n", api.APIVERSION)
fmt.Fprintf(cli.out, "Go version (client): %s\n", goruntime.Version())
fmt.Fprintf(cli.out, "Go version (client): %s\n", runtime.Version())
if dockerversion.GITCOMMIT != "" {
fmt.Fprintf(cli.out, "Git commit (client): %s\n", dockerversion.GITCOMMIT)
}
@@ -384,16 +380,8 @@ func (cli *DockerCli) CmdVersion(args ...string) error {
if apiVersion := remoteVersion.Get("ApiVersion"); apiVersion != "" {
fmt.Fprintf(cli.out, "Server API version: %s\n", apiVersion)
}
fmt.Fprintf(cli.out, "Git commit (server): %s\n", remoteVersion.Get("GitCommit"))
fmt.Fprintf(cli.out, "Go version (server): %s\n", remoteVersion.Get("GoVersion"))
release := utils.GetReleaseVersion()
if release != "" {
fmt.Fprintf(cli.out, "Last stable version: %s", release)
if (dockerversion.VERSION != "" || remoteVersion.Exists("Version")) && (strings.Trim(dockerversion.VERSION, "-dev") != release || strings.Trim(remoteVersion.Get("Version"), "-dev") != release) {
fmt.Fprintf(cli.out, ", please update docker")
}
fmt.Fprintf(cli.out, "\n")
}
fmt.Fprintf(cli.out, "Git commit (server): %s\n", remoteVersion.Get("GitCommit"))
return nil
}
@@ -555,10 +543,14 @@ func (cli *DockerCli) forwardAllSignals(cid string) chan os.Signal {
func (cli *DockerCli) CmdStart(args ...string) error {
var (
cErr chan error
tty bool
cmd = cli.Subcmd("start", "CONTAINER [CONTAINER...]", "Restart a stopped container")
attach = cmd.Bool([]string{"a", "-attach"}, false, "Attach container's stdout/stderr and forward all signals to the process")
openStdin = cmd.Bool([]string{"i", "-interactive"}, false, "Attach container's stdin")
)
if err := cmd.Parse(args); err != nil {
return nil
}
@@ -567,29 +559,24 @@ func (cli *DockerCli) CmdStart(args ...string) error {
return nil
}
var (
cErr chan error
tty bool
)
if *attach || *openStdin {
if cmd.NArg() > 1 {
return fmt.Errorf("You cannot start and attach multiple containers at once.")
}
body, _, err := readBody(cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, false))
steam, _, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, false)
if err != nil {
return err
}
container := &api.Container{}
err = json.Unmarshal(body, container)
if err != nil {
env := engine.Env{}
if err := env.Decode(steam); err != nil {
return err
}
config := env.GetSubEnv("Config")
tty = config.GetBool("Tty")
tty = container.Config.Tty
if !container.Config.Tty {
if !tty {
sigc := cli.forwardAllSignals(cmd.Arg(0))
defer signal.StopCatch(sigc)
}
@@ -598,15 +585,17 @@ func (cli *DockerCli) CmdStart(args ...string) error {
v := url.Values{}
v.Set("stream", "1")
if *openStdin && container.Config.OpenStdin {
if *openStdin && config.GetBool("OpenStdin") {
v.Set("stdin", "1")
in = cli.in
}
v.Set("stdout", "1")
v.Set("stderr", "1")
cErr = utils.Go(func() error {
return cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), container.Config.Tty, in, cli.out, cli.err, nil)
return cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), tty, in, cli.out, cli.err, nil)
})
}
@@ -643,6 +632,52 @@ func (cli *DockerCli) CmdStart(args ...string) error {
return nil
}
func (cli *DockerCli) CmdUnpause(args ...string) error {
cmd := cli.Subcmd("unpause", "CONTAINER", "Unpause all processes within a container")
if err := cmd.Parse(args); err != nil {
return nil
}
if cmd.NArg() != 1 {
cmd.Usage()
return nil
}
var encounteredError error
for _, name := range cmd.Args() {
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/unpause", name), nil, false)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
encounteredError = fmt.Errorf("Error: failed to unpause container named %s", name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
return encounteredError
}
func (cli *DockerCli) CmdPause(args ...string) error {
cmd := cli.Subcmd("pause", "CONTAINER", "Pause all processes within a container")
if err := cmd.Parse(args); err != nil {
return nil
}
if cmd.NArg() != 1 {
cmd.Usage()
return nil
}
var encounteredError error
for _, name := range cmd.Args() {
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/pause", name), nil, false)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
encounteredError = fmt.Errorf("Error: failed to pause container named %s", name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
return encounteredError
}
func (cli *DockerCli) CmdInspect(args ...string) error {
cmd := cli.Subcmd("inspect", "CONTAINER|IMAGE [CONTAINER|IMAGE...]", "Return low-level information on a container/image")
tmplStr := cmd.String([]string{"f", "#format", "-format"}, "", "Format the output using the given go template.")
@@ -769,34 +804,38 @@ func (cli *DockerCli) CmdPort(args ...string) error {
}
var (
port = cmd.Arg(1)
proto = "tcp"
parts = strings.SplitN(port, "/", 2)
container api.Container
port = cmd.Arg(1)
proto = "tcp"
parts = strings.SplitN(port, "/", 2)
)
if len(parts) == 2 && len(parts[1]) != 0 {
port = parts[0]
proto = parts[1]
}
body, _, err := readBody(cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, false))
steam, _, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, false)
if err != nil {
return err
}
err = json.Unmarshal(body, &container)
if err != nil {
env := engine.Env{}
if err := env.Decode(steam); err != nil {
return err
}
ports := nat.PortMap{}
if err := env.GetSubEnv("NetworkSettings").GetJson("Ports", &ports); err != nil {
return err
}
if frontends, exists := container.NetworkSettings.Ports[nat.Port(port+"/"+proto)]; exists && frontends != nil {
if frontends, exists := ports[nat.Port(port+"/"+proto)]; exists && frontends != nil {
for _, frontend := range frontends {
fmt.Fprintf(cli.out, "%s:%s\n", frontend.HostIp, frontend.HostPort)
}
} else {
return fmt.Errorf("Error: No public port '%s' published for %s", cmd.Arg(1), cmd.Arg(0))
return nil
}
return nil
return fmt.Errorf("Error: No public port '%s' published for %s", cmd.Arg(1), cmd.Arg(0))
}
// 'docker rmi IMAGE' removes all images with the name IMAGE
@@ -884,14 +923,14 @@ func (cli *DockerCli) CmdHistory(args ...string) error {
fmt.Fprintf(w, "%s\t", utils.TruncateID(outID))
}
fmt.Fprintf(w, "%s ago\t", utils.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))))
fmt.Fprintf(w, "%s ago\t", units.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))))
if *noTrunc {
fmt.Fprintf(w, "%s\t", out.Get("CreatedBy"))
} else {
fmt.Fprintf(w, "%s\t", utils.Trunc(out.Get("CreatedBy"), 45))
}
fmt.Fprintf(w, "%s\n", utils.HumanSize(out.GetInt64("Size")))
fmt.Fprintf(w, "%s\n", units.HumanSize(out.GetInt64("Size")))
} else {
if *noTrunc {
fmt.Fprintln(w, outID)
@@ -1142,6 +1181,9 @@ func (cli *DockerCli) CmdImages(args ...string) error {
flViz := cmd.Bool([]string{"#v", "#viz", "#-viz"}, false, "Output graph in graphviz format")
flTree := cmd.Bool([]string{"#t", "#tree", "#-tree"}, false, "Output graph in tree format")
var flFilter opts.ListOpts
cmd.Var(&flFilter, []string{"f", "-filter"}, "Provide filter values (i.e. 'dangling=true')")
if err := cmd.Parse(args); err != nil {
return nil
}
@@ -1150,11 +1192,32 @@ func (cli *DockerCli) CmdImages(args ...string) error {
return nil
}
filter := cmd.Arg(0)
// Consolidate all filter flags, and sanity check them early.
// They'll get process in the daemon/server.
imageFilterArgs := filters.Args{}
for _, f := range flFilter.GetAll() {
var err error
imageFilterArgs, err = filters.ParseFlag(f, imageFilterArgs)
if err != nil {
return err
}
}
matchName := cmd.Arg(0)
// FIXME: --viz and --tree are deprecated. Remove them in a future version.
if *flViz || *flTree {
body, _, err := readBody(cli.call("GET", "/images/json?all=1", nil, false))
v := url.Values{
"all": []string{"1"},
}
if len(imageFilterArgs) > 0 {
filterJson, err := filters.ToParam(imageFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJson)
}
body, _, err := readBody(cli.call("GET", "/images/json?"+v.Encode(), nil, false))
if err != nil {
return err
}
@@ -1184,13 +1247,13 @@ func (cli *DockerCli) CmdImages(args ...string) error {
}
}
if filter != "" {
if filter == image.Get("Id") || filter == utils.TruncateID(image.Get("Id")) {
if matchName != "" {
if matchName == image.Get("Id") || matchName == utils.TruncateID(image.Get("Id")) {
startImage = image
}
for _, repotag := range image.GetList("RepoTags") {
if repotag == filter {
if repotag == matchName {
startImage = image
}
}
@@ -1208,7 +1271,7 @@ func (cli *DockerCli) CmdImages(args ...string) error {
root := engine.NewTable("Created", 1)
root.Add(startImage)
cli.WalkTree(*noTrunc, root, byParent, "", printNode)
} else if filter == "" {
} else if matchName == "" {
cli.WalkTree(*noTrunc, roots, byParent, "", printNode)
}
if *flViz {
@@ -1216,8 +1279,17 @@ func (cli *DockerCli) CmdImages(args ...string) error {
}
} else {
v := url.Values{}
if len(imageFilterArgs) > 0 {
filterJson, err := filters.ToParam(imageFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJson)
}
if cmd.NArg() == 1 {
v.Set("filter", filter)
// FIXME rename this parameter, to not be confused with the filters flag
v.Set("filter", matchName)
}
if *all {
v.Set("all", "1")
@@ -1249,7 +1321,7 @@ func (cli *DockerCli) CmdImages(args ...string) error {
}
if !*quiet {
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\n", repo, tag, outID, utils.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))), utils.HumanSize(out.GetInt64("VirtualSize")))
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\n", repo, tag, outID, units.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))), units.HumanSize(out.GetInt64("VirtualSize")))
} else {
fmt.Fprintln(w, outID)
}
@@ -1323,7 +1395,7 @@ func (cli *DockerCli) printTreeNode(noTrunc bool, image *engine.Env, prefix stri
imageID = utils.TruncateID(image.Get("Id"))
}
fmt.Fprintf(cli.out, "%s%s Virtual Size: %s", prefix, imageID, utils.HumanSize(image.GetInt64("VirtualSize")))
fmt.Fprintf(cli.out, "%s%s Virtual Size: %s", prefix, imageID, units.HumanSize(image.GetInt64("VirtualSize")))
if image.GetList("RepoTags")[0] != "<none>:<none>" {
fmt.Fprintf(cli.out, " Tags: %s\n", strings.Join(image.GetList("RepoTags"), ", "))
} else {
@@ -1408,12 +1480,12 @@ func (cli *DockerCli) CmdPs(args ...string) error {
outCommand = utils.Trunc(outCommand, 20)
}
ports.ReadListFrom([]byte(out.Get("Ports")))
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\t%s\t%s\t", outID, out.Get("Image"), outCommand, utils.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))), out.Get("Status"), api.DisplayablePorts(ports), strings.Join(outNames, ","))
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\t%s\t%s\t", outID, out.Get("Image"), outCommand, units.HumanDuration(time.Now().UTC().Sub(time.Unix(out.GetInt64("Created"), 0))), out.Get("Status"), api.DisplayablePorts(ports), strings.Join(outNames, ","))
if *size {
if out.GetInt("SizeRootFs") > 0 {
fmt.Fprintf(w, "%s (virtual %s)\n", utils.HumanSize(out.GetInt64("SizeRw")), utils.HumanSize(out.GetInt64("SizeRootFs")))
fmt.Fprintf(w, "%s (virtual %s)\n", units.HumanSize(out.GetInt64("SizeRw")), units.HumanSize(out.GetInt64("SizeRootFs")))
} else {
fmt.Fprintf(w, "%s\n", utils.HumanSize(out.GetInt64("SizeRw")))
fmt.Fprintf(w, "%s\n", units.HumanSize(out.GetInt64("SizeRw")))
}
} else {
fmt.Fprint(w, "\n")
@@ -1491,7 +1563,8 @@ func (cli *DockerCli) CmdCommit(args ...string) error {
func (cli *DockerCli) CmdEvents(args ...string) error {
cmd := cli.Subcmd("events", "[OPTIONS]", "Get real time events from the server")
since := cmd.String([]string{"#since", "-since"}, "", "Show previously created events and then stream.")
since := cmd.String([]string{"#since", "-since"}, "", "Show all events created since timestamp")
until := cmd.String([]string{"-until"}, "", "Stream events until this timestamp")
if err := cmd.Parse(args); err != nil {
return nil
}
@@ -1500,22 +1573,27 @@ func (cli *DockerCli) CmdEvents(args ...string) error {
cmd.Usage()
return nil
}
v := url.Values{}
if *since != "" {
loc := time.FixedZone(time.Now().Zone())
var (
v = url.Values{}
loc = time.FixedZone(time.Now().Zone())
)
var setTime = func(key, value string) {
format := "2006-01-02 15:04:05 -0700 MST"
if len(*since) < len(format) {
format = format[:len(*since)]
if len(value) < len(format) {
format = format[:len(value)]
}
if t, err := time.ParseInLocation(format, *since, loc); err == nil {
v.Set("since", strconv.FormatInt(t.Unix(), 10))
if t, err := time.ParseInLocation(format, value, loc); err == nil {
v.Set(key, strconv.FormatInt(t.Unix(), 10))
} else {
v.Set("since", *since)
v.Set(key, value)
}
}
if *since != "" {
setTime("since", *since)
}
if *until != "" {
setTime("until", *until)
}
if err := cli.stream("GET", "/events?"+v.Encode(), nil, cli.out, nil); err != nil {
return err
}
@@ -1575,69 +1653,84 @@ func (cli *DockerCli) CmdDiff(args ...string) error {
}
func (cli *DockerCli) CmdLogs(args ...string) error {
cmd := cli.Subcmd("logs", "CONTAINER", "Fetch the logs of a container")
follow := cmd.Bool([]string{"f", "-follow"}, false, "Follow log output")
var (
cmd = cli.Subcmd("logs", "CONTAINER", "Fetch the logs of a container")
follow = cmd.Bool([]string{"f", "-follow"}, false, "Follow log output")
times = cmd.Bool([]string{"t", "-timestamps"}, false, "Show timestamps")
)
if err := cmd.Parse(args); err != nil {
return nil
}
if cmd.NArg() != 1 {
cmd.Usage()
return nil
}
name := cmd.Arg(0)
body, _, err := readBody(cli.call("GET", "/containers/"+name+"/json", nil, false))
steam, _, err := cli.call("GET", "/containers/"+name+"/json", nil, false)
if err != nil {
return err
}
container := &api.Container{}
err = json.Unmarshal(body, container)
if err != nil {
env := engine.Env{}
if err := env.Decode(steam); err != nil {
return err
}
v := url.Values{}
v.Set("logs", "1")
v.Set("stdout", "1")
v.Set("stderr", "1")
if *follow && container.State.Running {
v.Set("stream", "1")
if *times {
v.Set("timestamps", "1")
}
if err := cli.hijack("POST", "/containers/"+name+"/attach?"+v.Encode(), container.Config.Tty, nil, cli.out, cli.err, nil); err != nil {
return err
if *follow {
v.Set("follow", "1")
}
return nil
return cli.streamHelper("GET", "/containers/"+name+"/logs?"+v.Encode(), env.GetSubEnv("Config").GetBool("Tty"), nil, cli.out, cli.err, nil)
}
func (cli *DockerCli) CmdAttach(args ...string) error {
cmd := cli.Subcmd("attach", "[OPTIONS] CONTAINER", "Attach to a running container")
noStdin := cmd.Bool([]string{"#nostdin", "-no-stdin"}, false, "Do not attach stdin")
proxy := cmd.Bool([]string{"#sig-proxy", "-sig-proxy"}, true, "Proxify all received signal to the process (even in non-tty mode)")
var (
cmd = cli.Subcmd("attach", "[OPTIONS] CONTAINER", "Attach to a running container")
noStdin = cmd.Bool([]string{"#nostdin", "-no-stdin"}, false, "Do not attach stdin")
proxy = cmd.Bool([]string{"#sig-proxy", "-sig-proxy"}, true, "Proxify all received signal to the process (even in non-tty mode)")
)
if err := cmd.Parse(args); err != nil {
return nil
}
if cmd.NArg() != 1 {
cmd.Usage()
return nil
}
name := cmd.Arg(0)
body, _, err := readBody(cli.call("GET", "/containers/"+name+"/json", nil, false))
stream, _, err := cli.call("GET", "/containers/"+name+"/json", nil, false)
if err != nil {
return err
}
container := &api.Container{}
err = json.Unmarshal(body, container)
if err != nil {
env := engine.Env{}
if err := env.Decode(stream); err != nil {
return err
}
if !container.State.Running {
if !env.GetSubEnv("State").GetBool("Running") {
return fmt.Errorf("You cannot attach to a stopped container, start it first")
}
if container.Config.Tty && cli.isTerminal {
var (
config = env.GetSubEnv("Config")
tty = config.GetBool("Tty")
)
if tty && cli.isTerminal {
if err := cli.monitorTtySize(cmd.Arg(0)); err != nil {
utils.Debugf("Error monitoring TTY size: %s", err)
}
@@ -1647,19 +1740,20 @@ func (cli *DockerCli) CmdAttach(args ...string) error {
v := url.Values{}
v.Set("stream", "1")
if !*noStdin && container.Config.OpenStdin {
if !*noStdin && config.GetBool("OpenStdin") {
v.Set("stdin", "1")
in = cli.in
}
v.Set("stdout", "1")
v.Set("stderr", "1")
if *proxy && !container.Config.Tty {
if *proxy && !tty {
sigc := cli.forwardAllSignals(cmd.Arg(0))
defer signal.StopCatch(sigc)
}
if err := cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), container.Config.Tty, in, cli.out, cli.err, nil); err != nil {
if err := cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), tty, in, cli.out, cli.err, nil); err != nil {
return err
}
@@ -1677,7 +1771,8 @@ func (cli *DockerCli) CmdAttach(args ...string) error {
func (cli *DockerCli) CmdSearch(args ...string) error {
cmd := cli.Subcmd("search", "TERM", "Search the docker index for images")
noTrunc := cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output")
trusted := cmd.Bool([]string{"t", "#trusted", "-trusted"}, false, "Only show trusted builds")
trusted := cmd.Bool([]string{"#t", "#trusted", "#-trusted"}, false, "Only show trusted builds")
automated := cmd.Bool([]string{"-automated"}, false, "Only show automated builds")
stars := cmd.Int([]string{"s", "#stars", "-stars"}, 0, "Only displays with at least xxx stars")
if err := cmd.Parse(args); err != nil {
return nil
@@ -1700,9 +1795,9 @@ func (cli *DockerCli) CmdSearch(args ...string) error {
return err
}
w := tabwriter.NewWriter(cli.out, 10, 1, 3, ' ', 0)
fmt.Fprintf(w, "NAME\tDESCRIPTION\tSTARS\tOFFICIAL\tTRUSTED\n")
fmt.Fprintf(w, "NAME\tDESCRIPTION\tSTARS\tOFFICIAL\tAUTOMATED\n")
for _, out := range outs.Data {
if (*trusted && !out.GetBool("is_trusted")) || (*stars > out.GetInt("star_count")) {
if ((*automated || *trusted) && (!out.GetBool("is_trusted") && !out.GetBool("is_automated"))) || (*stars > out.GetInt("star_count")) {
continue
}
desc := strings.Replace(out.Get("description"), "\n", " ", -1)
@@ -1716,7 +1811,7 @@ func (cli *DockerCli) CmdSearch(args ...string) error {
}
fmt.Fprint(w, "\t")
if out.GetBool("is_trusted") {
if out.GetBool("is_automated") || out.GetBool("is_trusted") {
fmt.Fprint(w, "[OK]")
}
fmt.Fprint(w, "\n")
@@ -1830,6 +1925,10 @@ func (cli *DockerCli) CmdRun(args ...string) error {
v := url.Values{}
repos, tag := utils.ParseRepositoryTag(config.Image)
// pull only the image tagged 'latest' if no tag was specified
if tag == "" {
tag = "latest"
}
v.Set("fromImage", repos)
v.Set("tag", tag)
@@ -2049,7 +2148,7 @@ func (cli *DockerCli) CmdCp(args ...string) error {
}
if statusCode == 200 {
if err := archive.Untar(stream, copyData.Get("HostPath"), nil); err != nil {
if err := archive.Untar(stream, copyData.Get("HostPath"), &archive.TarOptions{NoLchown: true}); err != nil {
return err
}
}
+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
}
+36 -166
View File
@@ -2,7 +2,6 @@ package client
import (
"bytes"
"crypto/tls"
"encoding/base64"
"encoding/json"
"errors"
@@ -11,12 +10,9 @@ import (
"io/ioutil"
"net"
"net/http"
"net/http/httputil"
"net/url"
"os"
gosignal "os/signal"
"regexp"
goruntime "runtime"
"strconv"
"strings"
"syscall"
@@ -33,11 +29,14 @@ var (
ErrConnectionRefused = errors.New("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
)
func (cli *DockerCli) dial() (net.Conn, error) {
if cli.tlsConfig != nil && cli.proto != "unix" {
return tls.Dial(cli.proto, cli.addr, cli.tlsConfig)
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 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) {
@@ -57,9 +56,6 @@ func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo b
}
}
}
// fixme: refactor client to support redirect
re := regexp.MustCompile("/+")
path = re.ReplaceAllString(path, "/")
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), params)
if err != nil {
@@ -86,28 +82,20 @@ func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo b
}
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
req.Host = cli.addr
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")
}
dial, err := cli.dial()
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return nil, -1, ErrConnectionRefused
}
return nil, -1, err
}
clientconn := httputil.NewClientConn(dial, nil)
resp, err := clientconn.Do(req)
if err != nil {
clientconn.Close()
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)
@@ -117,33 +105,27 @@ func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo b
if len(body) == 0 {
return nil, resp.StatusCode, fmt.Errorf("Error: request returned %s for API route and version %s, check if the server supports the requested API version", http.StatusText(resp.StatusCode), req.URL)
}
return nil, resp.StatusCode, fmt.Errorf("Error: %s", bytes.TrimSpace(body))
return nil, resp.StatusCode, fmt.Errorf("Error response from daemon: %s", bytes.TrimSpace(body))
}
wrapper := utils.NewReadCloserWrapper(resp.Body, func() error {
if resp != nil && resp.Body != nil {
resp.Body.Close()
}
return clientconn.Close()
})
return wrapper, resp.StatusCode, nil
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{})
}
// fixme: refactor client to support redirect
re := regexp.MustCompile("/+")
path = re.ReplaceAllString(path, "/")
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), in)
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.Host = cli.addr
req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if method == "POST" {
req.Header.Set("Content-Type", "plain/text")
}
@@ -153,17 +135,7 @@ func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer, h
req.Header[k] = v
}
}
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)
resp, err := clientconn.Do(req)
defer clientconn.Close()
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?")
@@ -184,126 +156,21 @@ func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer, h
}
if api.MatchesContentType(resp.Header.Get("Content-Type"), "application/json") {
return utils.DisplayJSONMessagesStream(resp.Body, out, cli.terminalFd, cli.isTerminal)
return utils.DisplayJSONMessagesStream(resp.Body, stdout, cli.terminalFd, cli.isTerminal)
}
if _, err := io.Copy(out, resp.Body); err != nil {
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) 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)
}
}()
// fixme: refactor client to support redirect
re := regexp.MustCompile("/+")
path = re.ReplaceAllString(path, "/")
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 goruntime.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
}
func (cli *DockerCli) resizeTty(id string) {
height, width := cli.getTtySize()
if height == 0 && width == 0 {
@@ -333,7 +200,7 @@ func waitForExit(cli *DockerCli, containerId string) (int, error) {
// getExitCode perform an inspect on the container. It returns
// the running state and the exit code.
func getExitCode(cli *DockerCli, containerId string) (bool, int, error) {
body, _, err := readBody(cli.call("GET", "/containers/"+containerId+"/json", nil, false))
steam, _, err := cli.call("GET", "/containers/"+containerId+"/json", nil, false)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != ErrConnectionRefused {
@@ -341,11 +208,14 @@ func getExitCode(cli *DockerCli, containerId string) (bool, int, error) {
}
return false, -1, nil
}
c := &api.Container{}
if err := json.Unmarshal(body, c); err != nil {
var result engine.Env
if err := result.Decode(steam); err != nil {
return false, -1, err
}
return c.State.Running, c.State.ExitCode, nil
state := result.GetSubEnv("State")
return state.GetBool("Running"), state.GetInt("ExitCode"), nil
}
func (cli *DockerCli) monitorTtySize(id string) error {
+5 -4
View File
@@ -2,15 +2,16 @@ package api
import (
"fmt"
"mime"
"strings"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/version"
"github.com/dotcloud/docker/utils"
"mime"
"strings"
)
const (
APIVERSION version.Version = "1.10"
APIVERSION version.Version = "1.12"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
)
@@ -30,7 +31,7 @@ func DisplayablePorts(ports *engine.Table) string {
ports.Sort()
for _, port := range ports.Data {
if port.Get("IP") == "" {
result = append(result, fmt.Sprintf("%d/%s", port.GetInt("PublicPort"), port.Get("Type")))
result = append(result, fmt.Sprintf("%d/%s", port.GetInt("PrivatePort"), port.Get("Type")))
} else {
result = append(result, fmt.Sprintf("%s:%d->%d/%s", port.Get("IP"), port.GetInt("PublicPort"), port.GetInt("PrivatePort"), port.Get("Type")))
}
-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
}
}
+158 -74
View File
@@ -3,7 +3,6 @@ package server
import (
"bufio"
"bytes"
"code.google.com/p/go.net/websocket"
"crypto/tls"
"crypto/x509"
"encoding/base64"
@@ -21,6 +20,8 @@ import (
"strings"
"syscall"
"code.google.com/p/go.net/websocket"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/pkg/listenbuffer"
@@ -121,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)
@@ -164,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")
@@ -187,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"))
@@ -243,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()
}
@@ -327,6 +361,48 @@ 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 (
job = eng.Job("container_inspect", vars["name"])
c, err = job.Stdout.AddEnv()
)
if err != nil {
return err
}
if err = job.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
}
job = eng.Job("logs", vars["name"])
job.Setenv("follow", r.Form.Get("follow"))
job.Setenv("stdout", r.Form.Get("stdout"))
job.Setenv("stderr", r.Form.Get("stderr"))
job.Setenv("timestamps", r.Form.Get("timestamps"))
job.Stdout.Add(outStream)
job.Stderr.Set(errStream)
if err := job.Run(); err != nil {
fmt.Fprintf(outStream, "Error 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
@@ -349,9 +425,10 @@ 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)
@@ -363,12 +440,11 @@ func postCommit(eng *engine.Engine, version version.Version, w http.ResponseWrit
job.Setenv("comment", r.Form.Get("comment"))
job.SetenvSubEnv("config", &config)
var id string
job.Stdout.AddString(&id)
job.Stdout.Add(stdoutBuffer)
if err := job.Run(); err != nil {
return err
}
env.Set("Id", id)
env.Set("Id", engine.Tail(stdoutBuffer, 1))
return writeJSON(w, http.StatusCreated, env)
}
@@ -458,32 +534,6 @@ func getImagesSearch(eng *engine.Engine, version version.Version, w http.Respons
return job.Run()
}
// FIXME: 'insert' is deprecated as of 0.10, and should be removed in a future version.
func postImagesInsert(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
job := eng.Job("insert", vars["name"], r.Form.Get("url"), r.Form.Get("path"))
if version.GreaterThan("1.0") {
job.SetenvBool("json", true)
streamJSON(job, w, false)
} else {
job.Stdout.Add(w)
}
if err := job.Run(); err != nil {
if !job.Stdout.Used() {
return err
}
sf := utils.NewStreamFormatter(version.GreaterThan("1.0"))
w.Write(sf.FormatError(err))
}
return nil
}
func postImagesPush(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
@@ -559,17 +609,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 {
@@ -580,7 +630,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)
}
@@ -676,20 +726,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)
}
@@ -715,7 +761,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 {
@@ -765,7 +811,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
@@ -779,7 +825,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
}
@@ -795,7 +841,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)
@@ -807,9 +853,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("dirty", true)
}
streamJSON(job, w, false)
job.SetenvBool("conflict", true) //conflict=true to detect conflict between containers and images in the job
return job.Run()
}
@@ -817,9 +865,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("dirty", true)
}
streamJSON(job, w, false)
job.SetenvBool("conflict", true) //conflict=true to detect conflict between containers and images in the job
return job.Run()
}
@@ -863,12 +913,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)
@@ -930,6 +988,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
@@ -959,7 +1022,7 @@ func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, local
}
if err := handlerFunc(eng, version, w, r, mux.Vars(r)); err != nil {
utils.Errorf("Error: %s", err)
utils.Errorf("Error making handler: %s", err)
httpError(w, err)
}
}
@@ -998,6 +1061,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,
@@ -1013,6 +1077,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": {
@@ -1020,12 +1085,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,
@@ -1142,6 +1208,7 @@ 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, 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
@@ -1157,7 +1224,20 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
}
}
l, err := listenbuffer.NewListenBuffer(proto, addr, activationLock)
var oldmask int
if proto == "unix" {
oldmask = syscall.Umask(0777)
}
if job.GetenvBool("BufferRequests") {
l, err = listenbuffer.NewListenBuffer(proto, addr, activationLock)
} else {
l, err = net.Listen(proto, addr)
}
if proto == "unix" {
syscall.Umask(oldmask)
}
if err != nil {
return err
}
@@ -1195,9 +1275,6 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
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 {
@@ -1209,6 +1286,9 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
}
}
}
if err := os.Chmod(addr, 0660); err != nil {
return err
}
default:
return fmt.Errorf("Invalid protocol format.")
}
@@ -1220,18 +1300,20 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
// 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)
@@ -1253,7 +1335,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
}
+84 -79
View File
@@ -1,14 +1,14 @@
package server
import (
"bytes"
"encoding/json"
"fmt"
"github.com/dotcloud/docker/api"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/utils"
"io"
"net/http"
"net/http/httptest"
"os"
"testing"
)
@@ -57,15 +57,7 @@ func TesthttpError(t *testing.T) {
}
func TestGetVersion(t *testing.T) {
tmp, err := utils.TestDirectory("")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmp)
eng, err := engine.New(tmp)
if err != nil {
t.Fatal(err)
}
eng := engine.New()
var called bool
eng.Register("version", func(job *engine.Job) engine.Status {
called = true
@@ -80,49 +72,21 @@ func TestGetVersion(t *testing.T) {
}
return engine.StatusOK
})
r := httptest.NewRecorder()
req, err := http.NewRequest("GET", "/version", nil)
if err != nil {
t.Fatal(err)
}
// FIXME getting the version should require an actual running Server
if err := ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
r := serveRequest("GET", "/version", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
out := engine.NewOutput()
v, err := out.AddEnv()
if err != nil {
t.Fatal(err)
v := readEnv(r.Body, t)
if v.Get("Version") != "42.1" {
t.Fatalf("%#v\n", v)
}
if _, err := io.Copy(out, r.Body); err != nil {
t.Fatal(err)
}
out.Close()
expected := "42.1"
if result := v.Get("Version"); result != expected {
t.Errorf("Expected version %s, %s found", expected, result)
}
expected = "application/json"
if result := r.HeaderMap.Get("Content-Type"); result != expected {
t.Errorf("Expected Content-Type %s, %s found", expected, result)
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
}
func TestGetInfo(t *testing.T) {
tmp, err := utils.TestDirectory("")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmp)
eng, err := engine.New(tmp)
if err != nil {
t.Fatal(err)
}
eng := engine.New()
var called bool
eng.Register("info", func(job *engine.Job) engine.Status {
called = true
@@ -134,47 +98,88 @@ func TestGetInfo(t *testing.T) {
}
return engine.StatusOK
})
r := httptest.NewRecorder()
req, err := http.NewRequest("GET", "/info", nil)
if err != nil {
t.Fatal(err)
}
// FIXME getting the version should require an actual running Server
if err := ServeRequest(eng, api.APIVERSION, r, req); err != nil {
t.Fatal(err)
}
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)
}
}
out := engine.NewOutput()
i, err := out.AddEnv()
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 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 := io.Copy(out, r.Body); err != nil {
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()
{
expected := 42000
result := i.GetInt("Images")
if expected != result {
t.Fatalf("%#v\n", result)
}
}
{
expected := 1
result := i.GetInt("Containers")
if expected != result {
t.Fatalf("%#v\n", result)
}
}
{
expected := "application/json"
if result := r.HeaderMap.Get("Content-Type"); result != expected {
t.Fatalf("%#v\n", result)
}
}
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`.
+32 -41
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 (
@@ -26,6 +28,7 @@ type (
TarOptions struct {
Includes []string
Compression Compression
NoLchown bool
}
)
@@ -41,26 +44,16 @@ const (
)
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 +67,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 +180,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 +241,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 +262,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
}
}
@@ -309,8 +295,11 @@ 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.
// TarFilter creates an archive from the directory at `srcPath` with `options`, and returns it as a
// stream of bytes.
//
// Files are included according to `options.Includes`, default to including all files.
// Stream is compressed according to `options.Compression', default to Uncompressed.
func TarFilter(srcPath string, options *TarOptions) (io.ReadCloser, error) {
pipeReader, pipeWriter := io.Pipe()
@@ -418,14 +407,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
}
+32 -2
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) {
@@ -132,8 +133,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)
+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)
}
+47 -10
View File
@@ -1,20 +1,37 @@
package builtins
import (
api "github.com/dotcloud/docker/api/server"
"runtime"
"github.com/dotcloud/docker/api"
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/runtime/networkdriver/bridge"
"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,
@@ -32,7 +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", server.InitServer)
eng.Register("init_networkdriver", bridge.InitDriver)
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
}
+19 -12
View File
@@ -4,7 +4,13 @@ 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
: ${CONFIG:=/proc/config.gz}
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() {
@@ -74,11 +80,7 @@ check_flags() {
if [ ! -e "$CONFIG" ]; then
wrap_warning "warning: $CONFIG does not exist, searching other paths for kernel config..."
for tryConfig in \
'/proc/config.gz' \
"/boot/config-$(uname -r)" \
'/usr/src/linux/.config' \
; do
for tryConfig in "${possibleConfigs[@]}"; do
if [ -e "$tryConfig" ]; then
CONFIG="$tryConfig"
break
@@ -98,21 +100,26 @@ echo
echo 'Generally Necessary:'
echo -n '- '
cgroupCpuDir="$(awk '/[, ]cpu([, ]|$)/ && $8 == "cgroup" { print $5 }' /proc/$$/mountinfo | head -n1)"
cgroupDir="$(dirname "$cgroupCpuDir")"
if [ -d "$cgroupDir/cpu" ]; then
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
echo "$(wrap_bad 'cgroup hierarchy' 'single mountpoint!') [$cgroupCpuDir]"
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_DEVICE
CGROUPS CGROUP_CPUACCT CGROUP_DEVICE CGROUP_FREEZER CGROUP_SCHED
MACVLAN VETH BRIDGE
IP_NF_TARGET_MASQUERADE NETFILTER_XT_MATCH_{ADDRTYPE,CONNTRACK}
NF_NAT_IPV4 IP_NF_TARGET_MASQUERADE
NETFILTER_XT_MATCH_{ADDRTYPE,CONNTRACK}
NF_NAT NF_NAT_NEEDED
)
check_flags "${flags[@]}"
+3 -13
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
@@ -393,7 +385,7 @@ _docker_ps()
{
case "$prev" in
--since|--before)
__docker_containers_all
__docker_containers_all
;;
-n)
return
@@ -438,9 +430,7 @@ _docker_push()
{
local counter=$(__docker_pos_first_nonflag)
if [ $cword -eq $counter ]; then
__docker_image_repos
# TODO replace this with __docker_image_repos_and_tags
# see https://github.com/dotcloud/docker/issues/3411
__docker_image_repos_and_tags
fi
}
@@ -539,7 +529,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" ) )
;;
*)
;;
+2 -6
View File
@@ -71,7 +71,7 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l sig-proxy -d
complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -a '(__fish_print_docker_containers running)' -d "Container"
# build
complete -c docker -f -n '__fish_docker_no_subcommand' -a build -d 'Build a container from a Dockerfile'
complete -c docker -f -n '__fish_docker_no_subcommand' -a build -d 'Build an image from a Dockerfile'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l no-cache -d 'Do not use cache when building the image'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s q -l quiet -d 'Suppress the verbose output generated by the containers'
complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l rm -d 'Remove intermediate containers after a successful build'
@@ -120,10 +120,6 @@ complete -c docker -f -n '__fish_docker_no_subcommand' -a import -d 'Create a ne
# info
complete -c docker -f -n '__fish_docker_no_subcommand' -a info -d 'Display system-wide information'
# insert
complete -c docker -f -n '__fish_docker_no_subcommand' -a insert -d 'Insert a file in an image'
complete -c docker -A -f -n '__fish_seen_subcommand_from insert' -a '(__fish_print_docker_images)' -d "Image"
# inspect
complete -c docker -f -n '__fish_docker_no_subcommand' -a inspect -d 'Return low-level information on a container'
complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -s f -l format -d 'Format the output using the given go template.'
@@ -229,7 +225,7 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from save' -a '(__fish_print
complete -c docker -f -n '__fish_docker_no_subcommand' -a search -d 'Search for an image in the docker index'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l no-trunc -d "Don't truncate output"
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -s s -l stars -d 'Only displays with at least xxx stars'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -s t -l trusted -d 'Only show trusted builds'
complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l automated -d 'Only show automated builds'
# start
complete -c docker -f -n '__fish_docker_no_subcommand' -a start -d 'Start a stopped container'
Executable → Regular
-5
View File
@@ -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'
;;
+1 -1
View File
@@ -6,7 +6,7 @@
# /data volume is owned by sysadmin.
# USAGE:
# # Download data Dockerfile
# wget http://raw.github.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
#
# # Build data image
# docker build -t data .
@@ -7,7 +7,7 @@
# sound devices. Tested on Debian 7.2
# USAGE:
# # Download Iceweasel Dockerfile
# wget http://raw.github.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
#
# # Build iceweasel image
# docker build -t iceweasel .
+1 -1
View File
@@ -3,7 +3,7 @@ package main
import (
"flag"
"fmt"
"github.com/dotcloud/docker/runtime/graphdriver/devmapper"
"github.com/dotcloud/docker/daemon/graphdriver/devmapper"
"os"
"path"
"sort"
+2
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.
+8 -1
View File
@@ -3,7 +3,7 @@
# /etc/rc.d/init.d/docker
#
# Daemon for docker.io
#
#
# chkconfig: 2345 95 95
# description: Daemon for docker.io
@@ -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
+1 -1
View File
@@ -1,6 +1,6 @@
description "Docker daemon"
start on filesystem
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
limit nofile 524288 1048576
limit nproc 524288 1048576
+2
View File
@@ -0,0 +1,2 @@
# these are generated by the md/md2man-all.sh script
man*
+5
View File
@@ -0,0 +1,5 @@
FROM fedora:20
MAINTAINER ipbabble <emailwhenry@redhat.com>
# Update and install pandoc
RUN yum -y update; yum clean all;
RUN yum -y install pandoc;
+206
View File
@@ -0,0 +1,206 @@
% DOCKERFILE(5) Docker User Manuals
% Zac Dover
% May 2014
# NAME
Dockerfile - automate the steps of creating a Docker image
# INTRODUCTION
The **Dockerfile** is a configuration file that automates the steps of creating
a Docker image. It is similar to a Makefile. Docker reads instructions from the
**Dockerfile** to automate the steps otherwise performed manually to create an
image. To build an image, create a file called **Dockerfile**. The
**Dockerfile** describes the steps taken to assemble the image. When the
**Dockerfile** has been created, call the **docker build** command, using the
path of directory that contains **Dockerfile** as the argument.
# SYNOPSIS
INSTRUCTION arguments
For example:
FROM image
# DESCRIPTION
A Dockerfile is a file that automates the steps of creating a Docker image.
A Dockerfile is similar to a Makefile.
# USAGE
**sudo docker build .**
-- runs the steps and commits them, building a final image
The path to the source repository defines where to find the context of the
build. The build is run by the docker daemon, not the CLI. The whole
context must be transferred to the daemon. The Docker CLI reports
"Sending build context to Docker daemon" when the context is sent to the daemon.
**sudo docker build -t repository/tag .**
-- specifies a repository and tag at which to save the new image if the build
succeeds. The Docker daemon runs the steps one-by-one, committing the result
to a new image if necessary before finally outputting the ID of the new
image. The Docker daemon automatically cleans up the context it is given.
Docker re-uses intermediate images whenever possible. This significantly
accelerates the *docker build* process.
# FORMAT
**FROM image**
or
**FROM image:tag**
-- The FROM instruction sets the base image for subsequent instructions. A
valid Dockerfile must have FROM as its first instruction. The image can be any
valid image. It is easy to start by pulling an image from the public
repositories.
-- FROM must be he first non-comment instruction in Dockerfile.
-- FROM may appear multiple times within a single Dockerfile in order to create
multiple images. Make a note of the last image id output by the commit before
each new FROM command.
-- If no tag is given to the FROM instruction, latest is assumed. If the used
tag does not exist, an error is returned.
**MAINTAINER**
--The MAINTAINER instruction sets the Author field for the generated images.
**RUN**
--RUN has two forms:
**RUN <command>**
-- (the command is run in a shell - /bin/sh -c)
**RUN ["executable", "param1", "param2"]**
--The above is executable form.
--The RUN instruction executes any commands in a new layer on top of the
current image and commits the results. The committed image is used for the next
step in Dockerfile.
--Layering RUN instructions and generating commits conforms to the core
concepts of Docker where commits are cheap and containers can be created from
any point in the history of an image. This is similar to source control. The
exec form makes it possible to avoid shell string munging. The exec form makes
it possible to RUN commands using a base image that does not contain /bin/sh.
**CMD**
--CMD has three forms:
**CMD ["executable", "param1", "param2"]** This is the preferred form, the
exec form.
**CMD ["param1", "param2"]** This command provides default parameters to
ENTRYPOINT)
**CMD command param1 param2** This command is run as a shell.
--There can be only one CMD in a Dockerfile. If more than one CMD is listed, only
the last CMD takes effect.
The main purpose of a CMD is to provide defaults for an executing container.
These defaults may include an executable, or they can omit the executable. If
they omit the executable, an ENTRYPOINT must be specified.
When used in the shell or exec formats, the CMD instruction sets the command to
be executed when running the image.
If you use the shell form of of the CMD, the <command> executes in /bin/sh -c:
**FROM ubuntu**
**CMD echo "This is a test." | wc -**
If you run <command> wihtout a shell, then you must express the command as a
JSON arry and give the full path to the executable. This array form is the
preferred form of CMD. All additional parameters must be individually expressed
as strings in the array:
**FROM ubuntu**
**CMD ["/usr/bin/wc","--help"]**
To make the container run the same executable every time, use ENTRYPOINT in
combination with CMD.
If the user specifies arguments to docker run, the specified commands override
the default in CMD.
Do not confuse **RUN** with **CMD**. RUN runs a command and commits the result. CMD
executes nothing at build time, but specifies the intended command for the
image.
**EXPOSE**
--**EXPOSE <port> [<port>...]**
The **EXPOSE** instruction informs Docker that the container listens on the
specified network ports at runtime. Docker uses this information to
interconnect containers using links, and to set up port redirection on the host
system.
**ENV**
--**ENV <key> <value>**
The ENV instruction sets the environment variable <key> to
the value <value>. This value is passed to all future RUN instructions. This is
functionally equivalent to prefixing the command with **<key>=<value>**. The
environment variables that are set with ENV persist when a container is run
from the resulting image. Use docker inspect to inspect these values, and
change them using docker run **--env <key>=<value>.**
Note that setting Setting **ENV DEBIAN_FRONTEND noninteractive** may cause
unintended consequences, because it will persist when the container is run
interactively, as with the following command: **docker run -t -i image bash**
**ADD**
--**ADD <src> <dest>** The ADD instruction copies new files from <src> and adds them
to the filesystem of the container at path <dest>. <src> must be the path to a
file or directory relative to the source directory that is being built (the
context of the build) or a remote file URL. <dest> is the absolute path to
which the source is copied inside the target container. All new files and
directories are created with mode 0755, with uid and gid 0.
**ENTRYPOINT**
--**ENTRYPOINT** has two forms: ENTRYPOINT ["executable", "param1", "param2"]
(This is like an exec, and is the preferred form.) ENTRYPOINT command param1
param2 (This is running as a shell.) An ENTRYPOINT helps you configure a
container that can be run as an executable. When you specify an ENTRYPOINT,
the whole container runs as if it was only that executable. The ENTRYPOINT
instruction adds an entry command that is not overwritten when arguments are
passed to docker run. This is different from the behavior of CMD. This allows
arguments to be passed to the entrypoint, for instance docker run <image> -d
passes the -d argument to the ENTRYPOINT. Specify parameters either in the
ENTRYPOINT JSON array (as in the preferred exec form above), or by using a CMD
statement. Parameters in the ENTRYPOINT are not overwritten by the docker run
arguments. Parameters specifies via CMD are overwritten by docker run
arguments. Specify a plain string for the ENTRYPOINT, and it will execute in
/bin/sh -c, like a CMD instruction:
FROM ubuntu
ENTRYPOINT wc -l -
This means that the Dockerfile's image always takes stdin as input (that's
what "-" means), and prints the number of lines (that's what "-l" means). To
make this optional but default, use a CMD:
FROM ubuntu
CMD ["-l", "-"]
ENTRYPOINT ["/usr/bin/wc"]
**VOLUME**
--**VOLUME ["/data"]**
The VOLUME instruction creates a mount point with the specified name and marks
it as holding externally-mounted volumes from the native host or from other
containers.
**USER**
-- **USER daemon**
The USER instruction sets the username or UID that is used when running the
image.
**WORKDIR**
-- **WORKDIR /path/to/workdir**
The WORKDIR instruction sets the working directory for the **RUN**, **CMD**, and **ENTRYPOINT** Dockerfile commands that follow it.
It can be used multiple times in a single Dockerfile. Relative paths are defined relative to the path of the previous **WORKDIR** instruction. For example:
**WORKDIR /a WORKDIR /b WORKDIR c RUN pwd**
In the above example, the output of the **pwd** command is **a/b/c**.
**ONBUILD**
-- **ONBUILD [INSTRUCTION]**
The ONBUILD instruction adds a trigger instruction to the image, which is
executed at a later time, when the image is used as the base for another
build. The trigger is executed in the context of the downstream build, as
if it had been inserted immediately after the FROM instruction in the
downstream Dockerfile. Any build instruction can be registered as a
trigger. This is useful if you are building an image to be
used as a base for building other images, for example an application build
environment or a daemon to be customized with a user-specific
configuration. For example, if your image is a reusable python
application builder, it requires application source code to be
added in a particular directory, and might require a build script
to be called after that. You can't just call ADD and RUN now, because
you don't yet have access to the application source code, and it
is different for each application build. Providing
application developers with a boilerplate Dockerfile to copy-paste
into their application is inefficient, error-prone, and
difficult to update because it mixes with application-specific code.
The solution is to use **ONBUILD** to register instructions in advance, to
run later, during the next build stage.
# HISTORY
*May 2014, Compiled by Zac Dover (zdover at redhat dot com) based on docker.io Dockerfile documentation.
+71
View File
@@ -0,0 +1,71 @@
Docker Documentation
====================
This directory contains the Docker user manual in the Markdown format.
Do *not* edit the man pages in the man1 directory. Instead, amend the
Markdown (*.md) files.
# File List
docker.md
docker-attach.md
docker-build.md
docker-commit.md
docker-cp.md
docker-diff.md
docker-events.md
docker-export.md
docker-history.md
docker-images.md
docker-import.md
docker-info.md
docker-inspect.md
docker-kill.md
docker-load.md
docker-login.md
docker-logs.md
docker-port.md
docker-ps.md
docker-pull.md
docker-push.md
docker-restart.md
docker-rmi.md
docker-rm.md
docker-run.md
docker-save.md
docker-search.md
docker-start.md
docker-stop.md
docker-tag.md
docker-top.md
docker-wait.md
Dockerfile
md2man-all.sh
# Generating man pages from the Markdown files
The recommended approach for generating the man pages is via a Docker
container. Using the supplied Dockerfile, Docker will create a Fedora based
container and isolate the Pandoc installation. This is a seamless process,
saving you from dealing with Pandoc and dependencies on your own computer.
## Building the Fedora / Pandoc image
There is a Dockerfile provided in the `docker/contrib/man/md` directory.
Using this Dockerfile, create a Docker image tagged `fedora/pandoc`:
docker build -t fedora/pandoc .
## Utilizing the Fedora / Pandoc image
Once the image is built, run a container using the image with *volumes*:
docker run -v /<path-to-git-dir>/docker/contrib/man:/pandoc:rw \
-w /pandoc -i fedora/pandoc /pandoc/md/md2man-all.sh
The Pandoc Docker container will process the Markdown files and generate
the man pages inside the `docker/contrib/man/man1` directory using
Docker volumes. For more information on Docker volumes see the man page for
`docker run` and also look at the article [Sharing Directories via Volumes]
(http://docs.docker.io/use/working_with_volumes/).
+58
View File
@@ -0,0 +1,58 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-attach - Attach to a running container
# SYNOPSIS
**docker attach** **--no-stdin**[=*false*] **--sig-proxy**[=*true*] CONTAINER
# DESCRIPTION
If you **docker run** a container in detached mode (**-d**), you can reattach to
the detached container with **docker attach** using the container's ID or name.
You can detach from the container again (and leave it running) with `CTRL-q
CTRL-q` (for a quiet exit), or `CTRL-c` which will send a SIGKILL to the
container, or `CTRL-\` to get a stacktrace of the Docker client when it quits.
When you detach from a container the exit code will be returned to
the client.
# OPTIONS
**--no-stdin**=*true*|*false*
When set to true, do not attach to stdin. The default is *false*.
**--sig-proxy**=*true*|*false*:
When set to true, proxify all received signal to the process (even in non-tty
mode). The default is *true*.
# EXAMPLES
## Attaching to a container
In this example the top command is run inside a container, from an image called
fedora, in detached mode. The ID from the container is passed into the **docker
attach** command:
# ID=$(sudo docker run -d fedora /usr/bin/top -b)
# sudo docker attach $ID
top - 02:05:52 up 3:05, 0 users, load average: 0.01, 0.02, 0.05
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 373572k total, 355560k used, 18012k free, 27872k buffers
Swap: 786428k total, 0k used, 786428k free, 221740k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 17200 1116 912 R 0 0.3 0:00.03 top
top - 02:05:55 up 3:05, 0 users, load average: 0.01, 0.02, 0.05
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 373572k total, 355244k used, 18328k free, 27872k buffers
Swap: 786428k total, 0k used, 786428k free, 221776k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 17208 1144 932 R 0 0.3 0:00.03 top
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+117
View File
@@ -0,0 +1,117 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-build - Build an image from a Dockerfile source at PATH
# SYNOPSIS
**docker build** [**--no-cache**[=*false*]] [**-q**|**--quiet**[=*false*]]
[**--rm**] [**-t**|**--tag**=TAG] PATH | URL | -
# DESCRIPTION
This will read the Dockerfile from the directory specified in **PATH**.
It also sends any other files and directories found in the current
directory to the Docker daemon. The contents of this directory would
be used by **ADD** commands found within the Dockerfile.
Warning, this will send a lot of data to the Docker daemon depending
on the contents of the current directory. The build is run by the Docker
daemon, not by the CLI, so the whole context must be transferred to the daemon.
The Docker CLI reports "Sending build context to Docker daemon" when the context is sent to
the daemon.
When a single Dockerfile is given as the URL, then no context is set.
When a Git repository is set as the **URL**, the repository is used
as context.
# OPTIONS
**-q**, **--quiet**=*true*|*false*
When set to true, suppress verbose build output. Default is *false*.
**--rm**=*true*|*false*
When true, remove intermediate containers that are created during the
build process. The default is true.
**-t**, **--tag**=*tag*
The name to be applied to the resulting image on successful completion of
the build. `tag` in this context means the entire image name including the
optional TAG after the ':'.
**--no-cache**=*true*|*false*
When set to true, do not use a cache when building the image. The
default is *false*.
# EXAMPLES
## Building an image using a Dockefile located inside the current directory
Docker images can be built using the build command and a Dockerfile:
docker build .
During the build process Docker creates intermediate images. In order to
keep them, you must explicitly set `--rm=false`.
docker build --rm=false .
A good practice is to make a sub-directory with a related name and create
the Dockerfile in that directory. For example, a directory called mongo may
contain a Dockerfile to create a Docker MongoDB image. Likewise, another
directory called httpd may be used to store Dockerfiles for Apache web
server images.
It is also a good practice to add the files required for the image to the
sub-directory. These files will then be specified with the `ADD` instruction
in the Dockerfile. Note: If you include a tar file (a good practice!), then
Docker will automatically extract the contents of the tar file
specified within the `ADD` instruction into the specified target.
## Building an image and naming that image
A good practice is to give a name to the image you are building. There are
no hard rules here but it is best to give the names consideration.
The **-t**/**--tag** flag is used to rename an image. Here are some examples:
Though it is not a good practice, image names can be arbtrary:
docker build -t myimage .
A better approach is to provide a fully qualified and meaningful repository,
name, and tag (where the tag in this context means the qualifier after
the ":"). In this example we build a JBoss image for the Fedora repository
and give it the version 1.0:
docker build -t fedora/jboss:1.0
The next example is for the "whenry" user repository and uses Fedora and
JBoss and gives it the version 2.1 :
docker build -t whenry/fedora-jboss:V2.1
If you do not provide a version tag then Docker will assign `latest`:
docker build -t whenry/fedora-jboss
When you list the images, the image above will have the tag `latest`.
So renaming an image is arbitrary but consideration should be given to
a useful convention that makes sense for consumers and should also take
into account Docker community conventions.
## Building an image using a URL
This will clone the specified Github repository from the URL and use it
as context. The Dockerfile at the root of the repository is used as
Dockerfile. This only works if the Github repository is a dedicated
repository.
docker build github.com/scollier/Fedora-Dockerfiles/tree/master/apache
Note: You can set an arbitrary Git repository via the `git://` schema.
# HISTORY
March 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+34
View File
@@ -0,0 +1,34 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-commit - Create a new image from the changes to an existing
container
# SYNOPSIS
**docker commit** **-a**|**--author**[=""] **-m**|**--message**[=""]
CONTAINER [REPOSITORY[:TAG]]
# DESCRIPTION
Using an existing container's name or ID you can create a new image.
# OPTIONS
**-a, --author**=""
Author name. (eg. "John Hannibal Smith <hannibal@a-team.com>"
**-m, --message**=""
Commit message
# EXAMPLES
## Creating a new image from an existing container
An existing Fedora based container has had Apache installed while running
in interactive mode with the bash shell. Apache is also running. To
create a new image run docker ps to find the container's ID and then run:
# docker commit -m= "Added Apache to Fedora base image" \
-a="A D Ministrator" 98bd7fc99854 fedora/fedora_httpd:20
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and in
+24
View File
@@ -0,0 +1,24 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-cp - Copy files/folders from the PATH to the HOSTPATH
# SYNOPSIS
**docker cp** CONTAINER:PATH HOSTPATH
# DESCRIPTION
Copy files/folders from the containers filesystem to the host
path. Paths are relative to the root of the filesystem. Files
can be copied from a running or stopped container.
# EXAMPLE
An important shell script file, created in a bash shell, is copied from
the exited container to the current dir on the host:
# docker cp c071f3c3ee81:setup.sh .
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+44
View File
@@ -0,0 +1,44 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-diff - Inspect changes on a container's filesystem
# SYNOPSIS
**docker diff** CONTAINER
# DESCRIPTION
Inspect changes on a container's filesystem. You can use the full or
shortened container ID or the container name set using
**docker run --name** option.
# EXAMPLE
Inspect the changes to on a nginx container:
# docker diff 1fdfd1f54c1b
C /dev
C /dev/console
C /dev/core
C /dev/stdout
C /dev/fd
C /dev/ptmx
C /dev/stderr
C /dev/stdin
C /run
A /run/nginx.pid
C /var/lib/nginx/tmp
A /var/lib/nginx/tmp/client_body
A /var/lib/nginx/tmp/fastcgi
A /var/lib/nginx/tmp/proxy
A /var/lib/nginx/tmp/scgi
A /var/lib/nginx/tmp/uwsgi
C /var/log/nginx
A /var/log/nginx/access.log
A /var/log/nginx/error.log
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+46
View File
@@ -0,0 +1,46 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-events - Get real time events from the server
**docker events** **--since**=""|*epoch-time*
# DESCRIPTION
Get event information from the Docker daemon. Information can include historical
information and real-time information.
# OPTIONS
**--since**=""
Show previously created events and then stream. This can be in either
seconds since epoch, or date string.
# EXAMPLES
## Listening for Docker events
After running docker events a container 786d698004576 is started and stopped
(The container name has been shortened in the output below):
# docker events
[2014-04-12 18:23:04 -0400 EDT] 786d69800457: (from whenry/testimage:latest) start
[2014-04-12 18:23:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) die
[2014-04-12 18:23:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) stop
## Listening for events since a given date
Again the output container IDs have been shortened for the purposes of this document:
# docker events --since '2014-04-12'
[2014-04-12 18:11:28 -0400 EDT] c655dbf640dc: (from whenry/testimage:latest) create
[2014-04-12 18:11:28 -0400 EDT] c655dbf640dc: (from whenry/testimage:latest) start
[2014-04-12 18:14:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) create
[2014-04-12 18:14:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) start
[2014-04-12 18:22:44 -0400 EDT] 786d69800457: (from whenry/testimage:latest) die
[2014-04-12 18:22:44 -0400 EDT] 786d69800457: (from whenry/testimage:latest) stop
[2014-04-12 18:23:04 -0400 EDT] 786d69800457: (from whenry/testimage:latest) start
[2014-04-12 18:23:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) die
[2014-04-12 18:23:13 -0400 EDT] 786d69800457: (from whenry/testimage:latest) stop
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+26
View File
@@ -0,0 +1,26 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-export - Export the contents of a filesystem as a tar archive to
STDOUT.
# SYNOPSIS
**docker export** CONTAINER
# DESCRIPTION
Export the contents of a container's filesystem using the full or shortened
container ID or container name. The output is exported to STDOUT and can be
redirected to a tar file.
# EXAMPLE
Export the contents of the container called angry_bell to a tar file
called test.tar:
# docker export angry_bell > test.tar
# ls *.tar
test.tar
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+32
View File
@@ -0,0 +1,32 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-history - Show the history of an image
# SYNOPSIS
**docker history** **--no-trunc**[=*false*] [**-q**|**--quiet**[=*false*]]
IMAGE
# DESCRIPTION
Show the history of when and how an image was created.
# OPTIONS
**--no-trunc**=*true*|*false*
When true don't truncate output. Default is false
**-q**, **--quiet=*true*|*false*
When true only show numeric IDs. Default is false.
# EXAMPLE
$ sudo docker history fedora
IMAGE CREATED CREATED BY SIZE
105182bb5e8b 5 days ago /bin/sh -c #(nop) ADD file:71356d2ad59aa3119d 372.7 MB
73bd853d2ea5 13 days ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B
511136ea3c5a 10 months ago 0 B
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+99
View File
@@ -0,0 +1,99 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-images - List the images in the local repository
# SYNOPSIS
**docker images**
[**-a**|**--all**=*false*]
[**--no-trunc**[=*false*]
[**-q**|**--quiet**[=*false*]
[**-t**|**--tree**=*false*]
[**-v**|**--viz**=*false*]
[NAME]
# DESCRIPTION
This command lists the images stored in the local Docker repository.
By default, intermediate images, used during builds, are not listed. Some of the
output, e.g. image ID, is truncated, for space reasons. However the truncated
image ID, and often the first few characters, are enough to be used in other
Docker commands that use the image ID. The output includes repository, tag, image
ID, date created and the virtual size.
The title REPOSITORY for the first title may seem confusing. It is essentially
the image name. However, because you can tag a specific image, and multiple tags
(image instances) can be associated with a single name, the name is really a
repository for all tagged images of the same name. For example consider an image
called fedora. It may be tagged with 18, 19, or 20, etc. to manage different
versions.
# OPTIONS
**-a**, **--all**=*true*|*false*
When set to true, also include all intermediate images in the list. The
default is false.
**--no-trunc**=*true*|*false*
When set to true, list the full image ID and not the truncated ID. The
default is false.
**-q**, **--quiet**=*true*|*false*
When set to true, list the complete image ID as part of the output. The
default is false.
**-t**, **--tree**=*true*|*false*
When set to true, list the images in a tree dependency tree (hierarchy)
format. The default is false.
**-v**, **--viz**=*true*|*false*
When set to true, list the graph in graphviz format. The default is
*false*.
# EXAMPLES
## Listing the images
To list the images in a local repository (not the registry) run:
docker images
The list will contain the image repository name, a tag for the image, and an
image ID, when it was created and its virtual size. Columns: REPOSITORY, TAG,
IMAGE ID, CREATED, and VIRTUAL SIZE.
To get a verbose list of images which contains all the intermediate images
used in builds use **-a**:
docker images -a
## List images dependency tree hierarchy
To list the images in the local repository (not the registry) in a dependency
tree format, use the **-t** option.
docker images -t
This displays a staggered hierarchy tree where the less indented image is
the oldest with dependent image layers branching inward (to the right) on
subsequent lines. The newest or top level image layer is listed last in
any tree branch.
## List images in GraphViz format
To display the list in a format consumable by a GraphViz tools run with
**-v**. For example to produce a .png graph file of the hierarchy use:
docker images --viz | dot -Tpng -o docker.png
## Listing only the shortened image IDs
Listing just the shortened image IDs. This can be useful for some automated
tools.
docker images -q
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+39
View File
@@ -0,0 +1,39 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-import - Create an empty filesystem image and import the contents
of the tarball into it.
# SYNOPSIS
**docker import** URL|- [REPOSITORY[:TAG]]
# DESCRIPTION
Create a new filesystem image from the contents of a tarball (.tar,
.tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then optionally tag it.
# EXAMPLES
## Import from a remote location
# docker import http://example.com/exampleimage.tgz example/imagerepo
## Import from a local file
Import to docker via pipe and stdin:
# cat exampleimage.tgz | docker import - example/imagelocal
## Import from a local file and tag
Import to docker via pipe and stdin:
# cat exampleimageV2.tgz | docker import - example/imagelocal:V-2.0
## Import from a local directory
# tar -c . | docker import - exampleimagedir
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+46
View File
@@ -0,0 +1,46 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-info - Display system wide information
# SYNOPSIS
**docker info**
# DESCRIPTION
This command displays system wide information regarding the Docker installation.
Information displayed includes the number of containers and images, pool name,
data file, metadata file, data space used, total data space, metadata space used
, total metadata space, execution driver, and the kernel version.
The data file is where the images are stored and the metadata file is where the
meta data regarding those images are stored. When run for the first time Docker
allocates a certain amount of data space and meta data space from the space
available on the volume where `/var/lib/docker` is mounted.
# OPTIONS
There are no available options.
# EXAMPLES
## Display Docker system information
Here is a sample output:
# docker info
Containers: 18
Images: 95
Storage Driver: devicemapper
Pool Name: docker-8:1-170408448-pool
Data file: /var/lib/docker/devicemapper/devicemapper/data
Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
Data Space Used: 9946.3 Mb
Data Space Total: 102400.0 Mb
Metadata Space Used: 9.9 Mb
Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.1
Kernel Version: 3.10.0-116.el7.x86_64
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+229
View File
@@ -0,0 +1,229 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-inspect - Return low-level information on a container/image
# SYNOPSIS
**docker inspect** [**-f**|**--format**="" CONTAINER|IMAGE
[CONTAINER|IMAGE...]
# DESCRIPTION
This displays all the information available in Docker for a given
container or image. By default, this will render all results in a JSON
array. If a format is specified, the given template will be executed for
each result.
# OPTIONS
**-f**, **--format**=""
The text/template package of Go describes all the details of the
format. See examples section
# EXAMPLES
## Getting information on a container
To get information on a container use it's ID or instance name:
#docker inspect 1eb5fabf5a03
[{
"ID": "1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b",
"Created": "2014-04-04T21:33:52.02361335Z",
"Path": "/usr/sbin/nginx",
"Args": [],
"Config": {
"Hostname": "1eb5fabf5a03",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/usr/sbin/nginx"
],
"Dns": null,
"DnsSearch": null,
"Image": "summit/nginx",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": {
"mount_label": "system_u:object_r:svirt_sandbox_file_t:s0:c0,c650",
"process_label": "system_u:system_r:svirt_lxc_net_t:s0:c0,c650"
}
},
"State": {
"Running": true,
"Pid": 858,
"ExitCode": 0,
"StartedAt": "2014-04-04T21:33:54.16259207Z",
"FinishedAt": "0001-01-01T00:00:00Z",
"Ghost": false
},
"Image": "df53773a4390e25936f9fd3739e0c0e60a62d024ea7b669282b27e65ae8458e6",
"NetworkSettings": {
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"Gateway": "172.17.42.1",
"Bridge": "docker0",
"PortMapping": null,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
}
},
"ResolvConfPath": "/etc/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/hostname",
"HostsPath": "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/hosts",
"Name": "/ecstatic_ptolemy",
"Driver": "devicemapper",
"ExecDriver": "native-0.1",
"Volumes": {},
"VolumesRW": {},
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LxcConf": [],
"Privileged": false,
"PortBindings": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
},
"Links": null,
"PublishAllPorts": false,
"DriverOptions": {
"lxc": null
},
"CliAddress": ""
}
## Getting the IP address of a container instance
To get the IP address of a container use:
# docker inspect --format='{{.NetworkSettings.IPAddress}}' 1eb5fabf5a03
172.17.0.2
## Listing all port bindings
One can loop over arrays and maps in the results to produce simple text
output:
# docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} \
{{$p}} -> {{(index $conf 0).HostPort}} {{end}}' 1eb5fabf5a03
80/tcp -> 80
## Getting information on an image
Use an image's ID or name (e.g. repository/name[:tag]) to get information
on it.
# docker inspect 58394af37342
[{
"id": "58394af373423902a1b97f209a31e3777932d9321ef10e64feaaa7b4df609cf9",
"parent": "8abc22bad04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"created": "2014-02-03T16:10:40.500814677Z",
"container": "f718f19a28a5147da49313c54620306243734bafa63c76942ef6f8c4b4113bc5",
"container_config": {
"Hostname": "88807319f25e",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": null,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ADD fedora-20-dummy.tar.xz in /"
],
"Dns": null,
"DnsSearch": null,
"Image": "8abc22bad04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": null
},
"docker_version": "0.6.3",
"author": "I P Babble \u003clsm5@ipbabble.com\u003e - ./buildcontainers.sh",
"config": {
"Hostname": "88807319f25e",
"Domainname": "",
"User": "",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 0,
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"PortSpecs": null,
"ExposedPorts": null,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"HOME=/",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": null,
"Dns": null,
"DnsSearch": null,
"Image": "8abc22bad04266308ff408ca61cb8f6f4244a59308f7efc64e54b08b496c58db",
"Volumes": null,
"VolumesFrom": "",
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"OnBuild": null,
"Context": null
},
"architecture": "x86_64",
"Size": 385520098
}]
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+21
View File
@@ -0,0 +1,21 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-kill - Kill a running container (send SIGKILL, or specified signal)
# SYNOPSIS
**docker kill** **--signal**[=*"KILL"*] CONTAINER [CONTAINER...]
# DESCRIPTION
The main process inside each container specified will be sent SIGKILL,
or any signal specified with option --signal.
# OPTIONS
**-s**, **--signal**=*"KILL"*
Signal to send to the container
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+36
View File
@@ -0,0 +1,36 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-load - Load an image from a tar archive on STDIN
# SYNOPSIS
**docker load** **--input**=""
# DESCRIPTION
Loads a tarred repository from a file or the standard input stream.
Restores both images and tags.
# OPTIONS
**-i**, **--input**=""
Read from a tar archive file, instead of STDIN
# EXAMPLE
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB
$ sudo docker load --input fedora.tar
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB
fedora rawhide 0d20aec6529d 7 weeks ago 387 MB
fedora 20 58394af37342 7 weeks ago 385.5 MB
fedora heisenbug 58394af37342 7 weeks ago 385.5 MB
fedora latest 58394af37342 7 weeks ago 385.5 MB
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+35
View File
@@ -0,0 +1,35 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-login - Register or Login to a docker registry server.
# SYNOPSIS
**docker login** [**-e**|**-email**=""] [**-p**|**--password**=""]
[**-u**|**--username**=""] [SERVER]
# DESCRIPTION
Register or Login to a docker registry server, if no server is
specified "https://index.docker.io/v1/" is the default. If you want to
login to a private registry you can specify this by adding the server name.
# OPTIONS
**-e**, **--email**=""
Email address
**-p**, **--password**=""
Password
**-u**, **--username**=""
Username
# EXAMPLE
## Login to a local registry
# docker login localhost:8080
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+26
View File
@@ -0,0 +1,26 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-logs - Fetch the logs of a container
# SYNOPSIS
**docker logs** **--follow**[=*false*] CONTAINER
# DESCRIPTION
The **docker logs** command batch-retrieves whatever logs are present for
a container at the time of execution. This does not guarantee execution
order when combined with a docker run (i.e. your run may not have generated
any logs at the time you execute docker logs).
The **docker logs --follow** command combines commands **docker logs** and
**docker attach**. It will first return all logs from the beginning and
then continue streaming new output from the containers stdout and stderr.
# OPTIONS
**-f, --follow**=*true*|*false*
When *true*, follow log output. The default is false.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+15
View File
@@ -0,0 +1,15 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-port - Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
# SYNOPSIS
**docker port** CONTAINER PRIVATE_PORT
# DESCRIPTION
Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+68
View File
@@ -0,0 +1,68 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-ps - List containers
# SYNOPSIS
**docker ps** [**-a**|**--all**=*false*] [**--before**=""]
[**-l**|**--latest**=*false*] [**-n**=*-1*] [**--no-trunc**=*false*]
[**-q**|**--quiet**=*false*] [**-s**|**--size**=*false*]
[**--since**=""]
# DESCRIPTION
List the containers in the local repository. By default this show only
the running containers.
# OPTIONS
**-a**, **--all**=*true*|*false*
When true show all containers. Only running containers are shown by
default. Default is false.
**--before**=""
Show only container created before Id or Name, include non-running
ones.
**-l**, **--latest**=*true*|*false*
When true show only the latest created container, include non-running
ones. The default is false.
**-n**=NUM
Show NUM (integer) last created containers, include non-running ones.
The default is -1 (none)
**--no-trunc**=*true*|*false*
When true truncate output. Default is false.
**-q**, **--quiet**=*true*|*false*
When false only display numeric IDs. Default is false.
**-s**, **--size**=*true*|*false*
When true display container sizes. Default is false.
**--since**=""
Show only containers created since Id or Name, include non-running ones.
# EXAMPLE
# Display all containers, including non-running
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a87ecb4f327c fedora:20 /bin/sh -c #(nop) MA 20 minutes ago Exit 0 desperate_brattain
01946d9d34d8 vpavlin/rhel7:latest /bin/sh -c #(nop) MA 33 minutes ago Exit 0 thirsty_bell
c1d3b0166030 acffc0358b9e /bin/sh -c yum -y up 2 weeks ago Exit 1 determined_torvalds
41d50ecd2f57 fedora:20 /bin/sh -c #(nop) MA 2 weeks ago Exit 0 drunk_pike
# Display only IDs of all containers, including non-running
# docker ps -a -q
a87ecb4f327c
01946d9d34d8
c1d3b0166030
41d50ecd2f57
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+51
View File
@@ -0,0 +1,51 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-pull - Pull an image or a repository from the registry
# SYNOPSIS
**docker pull** [REGISTRY_PATH/]NAME[:TAG]
# DESCRIPTION
This command pulls down an image or a repository from the registry. If
there is more than one image for a repository (e.g. fedora) then all
images for that repository name are pulled down including any tags.
It is also possible to specify a non-default registry to pull from.
# EXAMPLES
# Pull a repository with multiple images
$ sudo docker pull fedora
Pulling repository fedora
ad57ef8d78d7: Download complete
105182bb5e8b: Download complete
511136ea3c5a: Download complete
73bd853d2ea5: Download complete
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
fedora rawhide ad57ef8d78d7 5 days ago 359.3 MB
fedora 20 105182bb5e8b 5 days ago 372.7 MB
fedora heisenbug 105182bb5e8b 5 days ago 372.7 MB
fedora latest 105182bb5e8b 5 days ago 372.7 MB
# Pull an image, manually specifying path to the registry and tag
$ sudo docker pull registry.hub.docker.com/fedora:20
Pulling repository fedora
3f2fed40e4b0: Download complete
511136ea3c5a: Download complete
fd241224e9cf: Download complete
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
fedora 20 3f2fed40e4b0 4 days ago 372.7 MB
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+44
View File
@@ -0,0 +1,44 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-push - Push an image or a repository to the registry
# SYNOPSIS
**docker push** NAME[:TAG]
# DESCRIPTION
Push an image or a repository to a registry. The default registry is the Docker
Index located at [index.docker.io](https://index.docker.io/v1/). However the
image can be pushed to another, perhaps private, registry as demonstrated in
the example below.
# EXAMPLE
# Pushing a new image to a registry
First save the new image by finding the container ID (using **docker ps**)
and then committing it to a new image name:
# docker commit c16378f943fe rhel-httpd
Now push the image to the registry using the image ID. In this example
the registry is on host named registry-host and listening on port 5000.
Default Docker commands will push to the default `index.docker.io`
registry. Instead, push to the local registry, which is on a host called
registry-host*. To do this, tag the image with the host name or IP
address, and the port of the registry:
# docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
# docker push registry-host:5000/myadmin/rhel-httpd
Check that this worked by running:
# docker images
You should see both `rhel-httpd` and `registry-host:5000/myadmin/rhel-httpd`
listed.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+21
View File
@@ -0,0 +1,21 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-restart - Restart a running container
# SYNOPSIS
**docker restart** [**-t**|**--time**[=*10*]] CONTAINER [CONTAINER...]
# DESCRIPTION
Restart each container listed.
# OPTIONS
**-t**, **--time**=NUM
Number of seconds to try to stop for before killing the container. Once
killed it will then be restarted. Default=10
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+56
View File
@@ -0,0 +1,56 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-rm - Remove one or more containers.
# SYNOPSIS
**docker rm** [**-f**|**--force**[=*false*] [**-l**|**--link**[=*false*] [**-v**|
**--volumes**[=*false*]
CONTAINER [CONTAINER...]
# DESCRIPTION
**docker rm** will remove one or more containers from the host node. The
container name or ID can be used. This does not remove images. You cannot
remove a running container unless you use the \fB-f\fR option. To see all
containers on a host use the **docker ps -a** command.
# OPTIONS
**-f**, **--force**=*true*|*false*
When set to true, force the removal of the container. The default is
*false*.
**-l**, **--link**=*true*|*false*
When set to true, remove the specified link and not the underlying
container. The default is *false*.
**-v**, **--volumes**=*true*|*false*
When set to true, remove the volumes associated to the container. The
default is *false*.
# EXAMPLES
##Removing a container using its ID##
To remove a container using its ID, find either from a **docker ps -a**
command, or use the ID returned from the **docker run** command, or retrieve
it from a file used to store it using the **docker run --cidfile**:
docker rm abebf7571666
##Removing a container using the container name##
The name of the container can be found using the **docker ps -a**
command. The use that name as follows:
docker rm hopeful_morse
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+35
View File
@@ -0,0 +1,35 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-rmi \- Remove one or more images.
# SYNOPSIS
**docker rmi** [**-f**|**--force**[=*false*] IMAGE [IMAGE...]
# DESCRIPTION
This will remove one or more images from the host node. This does not
remove images from a registry. You cannot remove an image of a running
container unless you use the **-f** option. To see all images on a host
use the **docker images** command.
# OPTIONS
**-f**, **--force**=*true*|*false*
When set to true, force the removal of the image. The default is
*false*.
# EXAMPLES
## Removing an image
Here is an example of removing and image:
docker rmi fedora/httpd
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+356
View File
@@ -0,0 +1,356 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-run - Run a process in an isolated container
# SYNOPSIS
**docker run**
[**-a**|**--attach**[=]] [**-c**|**--cpu-shares**[=0]
[**-m**|**--memory**=*memory-limit*]
[**--cidfile**=*file*] [**-d**|**--detach**[=*false*]] [**--dns**=*IP-address*]
[**--name**=*name*] [**-u**|**--user**=*username*|*uid*]
[**--link**=*name*:*alias*]
[**-e**|**--env**=*environment*] [**--entrypoint**=*command*]
[**--expose**=*port*] [**-P**|**--publish-all**[=*false*]]
[**-p**|**--publish**=*port-mappping*] [**-h**|**--hostname**=*hostname*]
[**--rm**[=*false*]] [**--privileged**[=*false*]]
[**-i**|**--interactive**[=*false*]]
[**-t**|**--tty**[=*false*]] [**--lxc-conf**=*options*]
[**-n**|**--networking**[=*true*]]
[**-v**|**--volume**=*volume*] [**--volumes-from**=*container-id*]
[**-w**|**--workdir**=*directory*] [**--sig-proxy**[=*true*]]
IMAGE [COMMAND] [ARG...]
# DESCRIPTION
Run a process in a new container. **docker run** starts a process with its own
file system, its own networking, and its own isolated process tree. The IMAGE
which starts the process may define defaults related to the process that will be
run in the container, the networking to expose, and more, but **docker run**
gives final control to the operator or administrator who starts the container
from the image. For that reason **docker run** has more options than any other
Docker command.
If the IMAGE is not already loaded then **docker run** will pull the IMAGE, and
all image dependencies, from the repository in the same way running **docker
pull** IMAGE, before it starts the container from that image.
# OPTIONS
**-a**, **--attach**=*stdin*|*stdout*|*stderr*
Attach to stdin, stdout or stderr. In foreground mode (the default when
**-d** is not specified), **docker run** can start the process in the container
and attach the console to the processs standard input, output, and standard
error. It can even pretend to be a TTY (this is what most commandline
executables expect) and pass along signals. The **-a** option can be set for
each of stdin, stdout, and stderr.
**-c**, **--cpu-shares**=0
CPU shares in relative weight. You can increase the priority of a container
with the -c option. By default, all containers run at the same priority and get
the same proportion of CPU cycles, but you can tell the kernel to give more
shares of CPU time to one or more containers when you start them via **docker
run**.
**--cidfile**=*file*
Write the container ID to the file specified.
**-d**, **-detach**=*true*|*false*
Detached mode. This runs the container in the background. It outputs the new
container's ID and any error messages. At any time you can run **docker ps** in
the other shell to view a list of the running containers. You can reattach to a
detached container with **docker attach**. If you choose to run a container in
the detached mode, then you cannot use the **-rm** option.
When attached in the tty mode, you can detach from a running container without
stopping the process by pressing the keys CTRL-P CTRL-Q.
**--dns**=*IP-address*
Set custom DNS servers. This option can be used to override the DNS
configuration passed to the container. Typically this is necessary when the
host DNS configuration is invalid for the container (eg. 127.0.0.1). When this
is the case the **-dns** flags is necessary for every run.
**-e**, **-env**=*environment*
Set environment variables. This option allows you to specify arbitrary
environment variables that are available for the process that will be launched
inside of the container.
**--entrypoint**=*command*
This option allows you to overwrite the default entrypoint of the image that
is set in the Dockerfile. The ENTRYPOINT of an image is similar to a COMMAND
because it specifies what executable to run when the container starts, but it is
(purposely) more difficult to override. The ENTRYPOINT gives a container its
default nature or behavior, so that when you set an ENTRYPOINT you can run the
container as if it were that binary, complete with default options, and you can
pass in more options via the COMMAND. But, sometimes an operator may want to run
something else inside the container, so you can override the default ENTRYPOINT
at runtime by using a **--entrypoint** and a string to specify the new
ENTRYPOINT.
**--expose**=*port*
Expose a port from the container without publishing it to your host. A
containers port can be exposed to other containers in three ways: 1) The
developer can expose the port using the EXPOSE parameter of the Dockerfile, 2)
the operator can use the **--expose** option with **docker run**, or 3) the
container can be started with the **--link**.
**-m**, **-memory**=*memory-limit*
Allows you to constrain the memory available to a container. If the host
supports swap memory, then the -m memory setting can be larger than physical
RAM. If a limit of 0 is specified, the container's memory is not limited. The
memory limit format: <number><optional unit>, where unit = b, k, m or g.
**-P**, **-publish-all**=*true*|*false*
When set to true publish all exposed ports to the host interfaces. The
default is false. If the operator uses -P (or -p) then Docker will make the
exposed port accessible on the host and the ports will be available to any
client that can reach the host. To find the map between the host ports and the
exposed ports, use **docker port**.
**-p**, **-publish**=[]
Publish a container's port to the host (format: ip:hostPort:containerPort |
ip::containerPort | hostPort:containerPort) (use **docker port** to see the
actual mapping)
**-h**, **-hostname**=*hostname*
Sets the container host name that is available inside the container.
**-i**, **-interactive**=*true*|*false*
When set to true, keep stdin open even if not attached. The default is false.
**--link**=*name*:*alias*
Add link to another container. The format is name:alias. If the operator
uses **--link** when starting the new client container, then the client
container can access the exposed port via a private networking interface. Docker
will set some environment variables in the client container to help indicate
which interface and port to use.
**-n**, **-networking**=*true*|*false*
By default, all containers have networking enabled (true) and can make
outgoing connections. The operator can disable networking with **--networking**
to false. This disables all incoming and outgoing networking. In cases like this
, I/O can only be performed through files or by using STDIN/STDOUT.
Also by default, the container will use the same DNS servers as the host. The
operator may override this with **-dns**.
**--name**=*name*
Assign a name to the container. The operator can identify a container in
three ways:
UUID long identifier (“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”)
UUID short identifier (“f78375b1c487”)
Name (“jonah”)
The UUID identifiers come from the Docker daemon, and if a name is not assigned
to the container with **--name** then the daemon will also generate a random
string name. The name is useful when defining links (see **--link**) (or any
other place you need to identify a container). This works for both background
and foreground Docker containers.
**--privileged**=*true*|*false*
Give extended privileges to this container. By default, Docker containers are
“unprivileged” (=false) and cannot, for example, run a Docker daemon inside the
Docker container. This is because by default a container is not allowed to
access any devices. A “privileged” container is given access to all devices.
When the operator executes **docker run --privileged**, Docker will enable access
to all devices on the host as well as set some configuration in AppArmor to
allow the container nearly all the same access to the host as processes running
outside of a container on the host.
**--rm**=*true*|*false*
If set to *true* the container is automatically removed when it exits. The
default is *false*. This option is incompatible with **-d**.
**--sig-proxy**=*true*|*false*
When set to true, proxify all received signals to the process (even in
non-tty mode). The default is true.
**-t**, **-tty**=*true*|*false*
When set to true Docker can allocate a pseudo-tty and attach to the standard
input of any container. This can be used, for example, to run a throwaway
interactive shell. The default is value is false.
**-u**, **-user**=*username*,*uid*
Set a username or UID for the container.
**-v**, **-volume**=*volume*[:ro|:rw]
Bind mount a volume to the container.
The **-v** option can be used one or
more times to add one or more mounts to a container. These mounts can then be
used in other containers using the **--volumes-from** option.
The volume may be optionally suffixed with :ro or :rw to mount the volumes in
read-only or read-write mode, respectively. By default, the volumes are mounted
read-write. See examples.
**--volumes-from**=*container-id*[:ro|:rw]
Will mount volumes from the specified container identified by container-id.
Once a volume is mounted in a one container it can be shared with other
containers using the **--volumes-from** option when running those other
containers. The volumes can be shared even if the original container with the
mount is not running.
The container ID may be optionally suffixed with :ro or
:rw to mount the volumes in read-only or read-write mode, respectively. By
default, the volumes are mounted in the same mode (read write or read only) as
the reference container.
**-w**, **-workdir**=*directory*
Working directory inside the container. The default working directory for
running binaries within a container is the root directory (/). The developer can
set a different default with the Dockerfile WORKDIR instruction. The operator
can override the working directory by using the **-w** option.
**IMAGE**
The image name or ID.
**COMMAND**
The command or program to run inside the image.
**ARG**
The arguments for the command to be run in the container.
# EXAMPLES
## Exposing log messages from the container to the host's log
If you want messages that are logged in your container to show up in the host's
syslog/journal then you should bind mount the /dev/log directory as follows.
# docker run -v /dev/log:/dev/log -i -t fedora /bin/bash
From inside the container you can test this by sending a message to the log.
(bash)# logger "Hello from my container"
Then exit and check the journal.
# exit
# journalctl -b | grep Hello
This should list the message sent to logger.
## Attaching to one or more from STDIN, STDOUT, STDERR
If you do not specify -a then Docker will attach everything (stdin,stdout,stderr)
. You can specify to which of the three standard streams (stdin, stdout, stderr)
youd like to connect instead, as in:
# docker run -a stdin -a stdout -i -t fedora /bin/bash
## Linking Containers
The link feature allows multiple containers to communicate with each other. For
example, a container whose Dockerfile has exposed port 80 can be run and named
as follows:
# docker run --name=link-test -d -i -t fedora/httpd
A second container, in this case called linker, can communicate with the httpd
container, named link-test, by running with the **--link=<name>:<alias>**
# docker run -t -i --link=link-test:lt --name=linker fedora /bin/bash
Now the container linker is linked to container link-test with the alias lt.
Running the **env** command in the linker container shows environment variables
with the LT (alias) context (**LT_**)
# env
HOSTNAME=668231cb0978
TERM=xterm
LT_PORT_80_TCP=tcp://172.17.0.3:80
LT_PORT_80_TCP_PORT=80
LT_PORT_80_TCP_PROTO=tcp
LT_PORT=tcp://172.17.0.3:80
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LT_NAME=/linker/lt
SHLVL=1
HOME=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/usr/bin/env
When linking two containers Docker will use the exposed ports of the container
to create a secure tunnel for the parent to access.
## Mapping Ports for External Usage
The exposed port of an application can be mapped to a host port using the **-p**
flag. For example a httpd port 80 can be mapped to the host port 8080 using the
following:
# docker run -p 8080:80 -d -i -t fedora/httpd
## Creating and Mounting a Data Volume Container
Many applications require the sharing of persistent data across several
containers. Docker allows you to create a Data Volume Container that other
containers can mount from. For example, create a named container that contains
directories /var/volume1 and /tmp/volume2. The image will need to contain these
directories so a couple of RUN mkdir instructions might be required for you
fedora-data image:
# docker run --name=data -v /var/volume1 -v /tmp/volume2 -i -t fedora-data true
# docker run --volumes-from=data --name=fedora-container1 -i -t fedora bash
Multiple --volumes-from parameters will bring together multiple data volumes from
multiple containers. And it's possible to mount the volumes that came from the
DATA container in yet another container via the fedora-container1 intermidiery
container, allowing to abstract the actual data source from users of that data:
# docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash
## Mounting External Volumes
To mount a host directory as a container volume, specify the absolute path to
the directory and the absolute path for the container directory separated by a
colon:
# docker run -v /var/db:/data1 -i -t fedora bash
When using SELinux, be aware that the host has no knowledge of container SELinux
policy. Therefore, in the above example, if SELinux policy is enforced, the
`/var/db` directory is not writable to the container. A "Permission Denied"
message will occur and an avc: message in the host's syslog.
To work around this, at time of writing this man page, the following command
needs to be run in order for the proper SELinux policy type label to be attached
to the host directory:
# chcon -Rt svirt_sandbox_file_t /var/db
Now, writing to the /data1 volume in the container will be allowed and the
changes will also be reflected on the host in /var/db.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+35
View File
@@ -0,0 +1,35 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-save - Save an image to a tar archive (streamed to STDOUT by default)
# SYNOPSIS
**docker save** [**-o**|**--output**=""] IMAGE
# DESCRIPTION
Produces a tarred repository to the standard output stream. Contains all
parent layers, and all tags + versions, or specified repo:tag.
Stream to a file instead of STDOUT by using **-o**.
# OPTIONS
**-o**, **--output**=""
Write to an file, instead of STDOUT
# EXAMPLE
Save all fedora repository images to a fedora-all.tar and save the latest
fedora image to a fedora-latest.tar:
$ sudo docker save fedora > fedora-all.tar
$ sudo docker save --output=fedora-latest.tar fedora:latest
$ ls -sh fedora-all.tar
721M fedora-all.tar
$ ls -sh fedora-latest.tar
367M fedora-latest.tar
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+55
View File
@@ -0,0 +1,55 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-search - Search the docker index for images
# SYNOPSIS
**docker search** **--no-trunc**[=*false*] **--automated**[=*false*]
**-s**|**--stars**[=*0*] TERM
# DESCRIPTION
Search an index for an image with that matches the term TERM. The table
of images returned displays the name, description (truncated by default),
number of stars awarded, whether the image is official, and whether it
is automated.
# OPTIONS
**--no-trunc**=*true*|*false*
When true display the complete description. The default is false.
**-s**, **--stars**=NUM
Only displays with at least NUM (integer) stars. I.e. only those images
ranked >=NUM.
**--automated**=*true*|*false*
When true only show automated builds. The default is false.
# EXAMPLE
## Search the registry for ranked images
Search the registry for the term 'fedora' and only display those images
ranked 3 or higher:
$ sudo docker search -s 3 fedora
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mattdm/fedora A basic Fedora image corresponding roughly... 50
fedora (Semi) Official Fedora base image. 38
mattdm/fedora-small A small Fedora image on which to build. Co... 8
goldmann/wildfly A WildFly application server running on a ... 3 [OK]
## Search the registry for automated images
Search the registry for the term 'fedora' and only display automated images
ranked 1 or higher:
$ sudo docker search -s 1 -t fedora
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
goldmann/wildfly A WildFly application server running on a ... 3 [OK]
tutum/fedora-20 Fedora 20 image with SSH access. For the r... 1 [OK]
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+29
View File
@@ -0,0 +1,29 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-start - Restart a stopped container
# SYNOPSIS
**docker start** [**a**|**--attach**[=*false*]] [**-i**|**--interactive**
[=*true*] CONTAINER [CONTAINER...]
# DESCRIPTION
Start a stopped container.
# OPTION
**-a**, **--attach**=*true*|*false*
When true attach to container's stdout/stderr and forward all signals to
the process
**-i**, **--interactive**=*true*|*false*
When true attach to container's stdin
# NOTES
If run on a started container, start takes no action and succeeds
unconditionally.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+22
View File
@@ -0,0 +1,22 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-stop - Stop a running container
grace period)
# SYNOPSIS
**docker stop** [**-t**|**--time**[=*10*]] CONTAINER [CONTAINER...]
# DESCRIPTION
Stop a running container (Send SIGTERM, and then SIGKILL after
grace period)
# OPTIONS
**-t**, **--time**=NUM
Wait NUM number of seconds for the container to stop before killing it.
The default is 10 seconds.
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+52
View File
@@ -0,0 +1,52 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-tag - Tag an image in the repository
# SYNOPSIS
**docker tag** [**-f**|**--force**[=*false*]
IMAGE [REGISTRYHOST/][USERNAME/]NAME[:TAG]
# DESCRIPTION
This will give a new alias to an image in the repository. This refers to the
entire image name including the optional TAG after the ':'.
# "OPTIONS"
**-f**, **--force**=*true*|*false*
When set to true, force the alias. The default is *false*.
**REGISTRYHOST**
The hostname of the registry if required. This may also include the port
separated by a ':'
**USERNAME**
The username or other qualifying identifier for the image.
**NAME**
The image name.
**TAG**
The tag you are assigning to the image. Though this is arbitrary it is
recommended to be used for a version to disinguish images with the same name.
Note that here TAG is a part of the overall name or "tag".
# EXAMPLES
## Giving an image a new alias
Here is an example of aliasing an image (e.g. 0e5574283393) as "httpd" and
tagging it into the "fedora" repository with "version1.0":
docker tag 0e5574283393 fedora/httpd:version1.0
## Tagging an image for a private repository
To push an image to an private registry and not the central Docker
registry you must tag it with the registry hostname and port (if needed).
docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+27
View File
@@ -0,0 +1,27 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-top - Lookup the running processes of a container
# SYNOPSIS
**docker top** CONTAINER [ps-OPTION]
# DESCRIPTION
Look up the running process of the container. ps-OPTION can be any of the
options you would pass to a Linux ps command.
# EXAMPLE
Run **docker top** with the ps option of -x:
$ sudo docker top 8601afda2b -x
PID TTY STAT TIME COMMAND
16623 ? Ss 0:00 sleep 99999
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+23
View File
@@ -0,0 +1,23 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker-wait - Block until a container stops, then print its exit code.
# SYNOPSIS
**docker wait** CONTAINER [CONTAINER...]
# DESCRIPTION
Block until a container stops, then print its exit code.
#EXAMPLE
$ sudo docker run -d fedora sleep 99
079b83f558a2bc52ecad6b2a5de13622d584e6bb1aea058c11b36511e85e7622
$ sudo docker wait 079b83f558a2bc
0
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.io source material and internal work.
+187
View File
@@ -0,0 +1,187 @@
% DOCKER(1) Docker User Manuals
% William Henry
% APRIL 2014
# NAME
docker \- Docker image and container command line interface
# SYNOPSIS
**docker** [OPTIONS] COMMAND [arg...]
# DESCRIPTION
**docker** has two distinct functions. It is used for starting the Docker
daemon and to run the CLI (i.e., to command the daemon to manage images,
containers etc.) So **docker** is both a server, as a daemon, and a client
to the daemon, through the CLI.
To run the Docker daemon you do not specify any of the commands listed below but
must specify the **-d** option. The other options listed below are for the
daemon only.
The Docker CLI has over 30 commands. The commands are listed below and each has
its own man page which explain usage and arguments.
To see the man page for a command run **man docker <command>**.
# OPTIONS
**-D**=*true*|*false*
Enable debug mode. Default is false.
**-H**, **--host**=[unix:///var/run/docker.sock]: tcp://[host:port] to bind or
unix://[/path/to/socket] to use.
The socket(s) to bind to in daemon mode specified using one or more
tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.
**--api-enable-cors**=*true*|*false*
Enable CORS headers in the remote API. Default is false.
**-b**=""
Attach containers to a pre\-existing network bridge; use 'none' to disable container networking
**--bip**=""
Use the provided CIDR notation address for the dynamically created bridge (docker0); Mutually exclusive of \-b
**-d**=*true*|*false*
Enable daemon mode. Default is false.
**--dns**=""
Force Docker to use specific DNS servers
**-g**=""
Path to use as the root of the Docker runtime. Default is `/var/lib/docker`.
**--icc**=*true*|*false*
Enable inter\-container communication. Default is true.
**--ip**=""
Default IP address to use when binding container ports. Default is `0.0.0.0`.
**--iptables**=*true*|*false*
Disable Docker's addition of iptables rules. Default is true.
**--mtu**=VALUE
Set the containers network mtu. Default is `1500`.
**-p**=""
Path to use for daemon PID file. Default is `/var/run/docker.pid`
**-r**=*true*|*false*
Restart previously running containers. Default is true.
**-s**=""
Force the Docker runtime to use a specific storage driver.
**-v**=*true*|*false*
Print version information and quit. Default is false.
**--selinux-enabled**=*true*|*false*
Enable selinux support. Default is false.
# COMMANDS
**docker-attach(1)**
Attach to a running container
**docker-build(1)**
Build an image from a Dockerfile
**docker-commit(1)**
Create a new image from a container's changes
**docker-cp(1)**
Copy files/folders from the containers filesystem to the host at path
**docker-diff(1)**
Inspect changes on a container's filesystem
**docker-events(1)**
Get real time events from the server
**docker-export(1)**
Stream the contents of a container as a tar archive
**docker-history(1)**
Show the history of an image
**docker-images(1)**
List images
**docker-import(1)**
Create a new filesystem image from the contents of a tarball
**docker-info(1)**
Display system-wide information
**docker-inspect(1)**
Return low-level information on a container
**docker-kill(1)**
Kill a running container (which includes the wrapper process and everything
inside it)
**docker-load(1)**
Load an image from a tar archive
**docker-login(1)**
Register or Login to a Docker registry server
**docker-logs(1)**
Fetch the logs of a container
**docker-port(1)**
Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
**docker-ps(1)**
List containers
**docker-pull(1)**
Pull an image or a repository from a Docker registry server
**docker-push(1)**
Push an image or a repository to a Docker registry server
**docker-restart(1)**
Restart a running container
**docker-rm(1)**
Remove one or more containers
**docker-rmi(1)**
Remove one or more images
**docker-run(1)**
Run a command in a new container
**docker-save(1)**
Save an image to a tar archive
**docker-search(1)**
Search for an image in the Docker index
**docker-start(1)**
Start a stopped container
**docker-stop(1)**
Stop a running container
**docker-tag(1)**
Tag an image into a repository
**docker-top(1)**
Lookup the running processes of a container
**version**
Show the Docker version information
**docker-wait(1)**
Block until a container stops, then print its exit code
# EXAMPLES
For specific examples please see the man page for the specific Docker command.
For example:
man docker run
# HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based
on docker.io source material and internal work.
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
set -e
# get into this script's directory
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
[ "$1" = '-q' ] || {
set -x
pwd
}
for FILE in *.md; do
base="$(basename "$FILE")"
name="${base%.md}"
num="${name##*.}"
if [ -z "$num" -o "$name" = "$num" ]; then
# skip files that aren't of the format xxxx.N.md (like README.md)
continue
fi
mkdir -p "../man${num}"
pandoc -s -t man "$FILE" -o "../man${num}/${name}"
done
@@ -3,7 +3,7 @@
.\"
.TH "DOCKER" "1" "MARCH 2014" "0.1" "Docker"
.SH NAME
docker-build \- Build a container image from a Dockerfile source at PATH
docker-build \- Build an image from a Dockerfile source at PATH
.SH SYNOPSIS
.B docker build
[\fB--no-cache\fR[=\fIfalse\fR]
+50
View File
@@ -0,0 +1,50 @@
DOCKER "1" "APRIL 2014" "0.1" "Docker"
=======================================
NAME
----
docker-rm - Remove one or more containers.
SYNOPSIS
--------
`docker rm` [`-f`|`--force`[=*false*] [`-l`|`--link`[=*false*] [`-v`|`--volumes`[=*false*]
CONTAINER [CONTAINER...]
DESCRIPTION
-----------
`docker rm` will remove one or more containers from the host node. The container name or ID can be used. This does not remove images. You cannot remove a running container unless you use the \fB-f\fR option. To see all containers on a host use the `docker ps -a` command.
OPTIONS
-------
`-f`, `--force`=*true*|*false*:
When set to true, force the removal of the container. The default is *false*.
`-l`, `--link`=*true*|*false*:
When set to true, remove the specified link and not the underlying container. The default is *false*.
`-v`, `--volumes`=*true*|*false*:
When set to true, remove the volumes associated to the container. The default is *false*.
EXAMPLES
--------
##Removing a container using its ID##
To remove a container using its ID, find either from a `docker ps -a` command, or use the ID returned from the `docker run` command, or retrieve it from a file used to store it using the `docker run --cidfile`:
docker rm abebf7571666
##Removing a container using the container name##
The name of the container can be found using the \fBdocker ps -a\fR command. The use that name as follows:
docker rm hopeful_morse
HISTORY
-------
April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on dockier.io source material and internal work.
@@ -39,7 +39,7 @@ CPU shares in relative weight. You can increase the priority of a container with
.TP
.B -m, --memory=\fImemory-limit\fR:
Allows you to constrain the memory available to a container. If the host supports swap memory, then the -m memory setting can be larger than physical RAM. The memory limit format: <number><optional unit>, where unit = b, k, m or g.
Allows you to constrain the memory available to a container. If the host supports swap memory, then the -m memory setting can be larger than physical RAM. If a limit of 0 is specified, the container's memory is not limited. The memory limit format: <number><optional unit>, where unit = b, k, m or g.
.TP
.B --cidfile=\fIfile\fR:
@@ -245,7 +245,7 @@ docker run --volumes-from=data --name=fedora-container1 -i -t fedora bash
.RE
.sp
.TP
Multiple -volumes-from parameters will bring together multiple data volumes from multiple containers. And it's possible to mount the volumes that came from the DATA container in yet another container via the fedora-container1 intermidiery container, allowing to abstract the actual data source from users of that data:
Multiple --volumes-from parameters will bring together multiple data volumes from multiple containers. And it's possible to mount the volumes that came from the DATA container in yet another container via the fedora-container1 intermidiery container, allowing to abstract the actual data source from users of that data:
.sp
.RS
docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash
@@ -19,7 +19,7 @@ To see the man page for a command run \fBman docker <command>\fR.
Enable debug mode
.TP
.B\-H=[unix:///var/run/docker.sock]: tcp://[host[:port]] to bind or unix://[/path/to/socket] to use.
When host=[0.0.0.0], port=[4243] or path
When host=[0.0.0.0], port=[2375] or path
=[/var/run/docker.sock] is omitted, default values are used.
.TP
.B \-\-api-enable-cors=false
@@ -69,7 +69,7 @@ Print version information and quit
Attach to a running container
.TP
.B build
Build a container from a Dockerfile
Build an image from a Dockerfile
.TP
.B commit
Create a new image from a container's changes
+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 /tmp/alpine-docker-XXXXXXXXXX)
ROOTFS=$(mktemp -d /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
+1
View File
@@ -57,6 +57,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.
+4
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."
+5 -1
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
+4
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"
+105
View File
@@ -0,0 +1,105 @@
#!/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 trusty"
echo >&2 " $mkimg -t someuser/busybox busybox-static"
echo >&2 " $mkimg -t someuser/centos:5 rinse --distribution centos-5"
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:-/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
)
+125
View File
@@ -0,0 +1,125 @@
#!/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 "+ cat > '$rootfsDir/usr/sbin/policy-rc.d'"
cat > "$rootfsDir/usr/sbin/policy-rc.d" <<'EOF'
#!/bin/sh
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
ln -sf /bin/true "$rootfsDir/sbin/initctl"
)
# shrink the image, since apt makes us 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'"
echo 'force-unsafe-io' > "$rootfsDir/etc/dpkg/dpkg.cfg.d/docker-apt-speedup"
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
DPkg::Post-Invoke { ${aptGetClean} };
APT::Update::Post-Invoke { ${aptGetClean} };
Dir::Cache::pkgcache "";
Dir::Cache::srcpkgcache "";
EOF
# remove apt-cache translations for fast "apt-get update"
echo >&2 "+ cat > '$rootfsDir/etc/apt/apt.conf.d/docker-no-languages'"
echo 'Acquire::Languages "none";' > "$rootfsDir/etc/apt/apt.conf.d/docker-no-languages"
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
case "$lsbDist" in
debian|Debian)
# updates and security!
if [ "$suite" != 'sid' -a "$suite" != 'unstable' ]; then
(
set -x
sed -i "p; s/ $suite main$/ ${suite}-updates main/" "$rootfsDir/etc/apt/sources.list"
echo "deb http://security.debian.org $suite/updates main" >> "$rootfsDir/etc/apt/sources.list"
)
fi
;;
ubuntu|Ubuntu)
# add the universe, updates, and security repositories
(
set -x
sed -i "
s/ $suite main$/ $suite main universe/; p;
s/ $suite main/ ${suite}-updates main/; p;
s/ $suite-updates main/ ${suite}-security main/
" "$rootfsDir/etc/apt/sources.list"
)
;;
tanglu|Tanglu)
# add the updates repository
if [ "$suite" != 'devel' ]; then
(
set -x
sed -i "p; s/ $suite main$/ ${suite}-updates main/" "$rootfsDir/etc/apt/sources.list"
)
fi
;;
steamos|SteamOS)
# add contrib and non-free
(
set -x
sed -i "s/ $suite main$/ $suite main contrib non-free/" "$rootfsDir/etc/apt/sources.list"
)
;;
esac
fi
# make sure we're fully up-to-date, too
(
set -x
chroot "$rootfsDir" apt-get update
chroot "$rootfsDir" apt-get dist-upgrade -y
)
+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
)
@@ -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 >
```

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