Commit Graph
4543 Commits
Author SHA1 Message Date
Victor Vieux 4664dde409 Merge pull request #1995 from dotcloud/fix_attach_2
Fix the attach behavior with -i
Upstream-commit: bcce3cbdd1cb4d79272c0cbfa43ef0847be1b9d9
Component: engine
2013-09-30 03:29:19 -07:00
Victor Vieux cc91061a09 Merge pull request #2025 from dotcloud/2020_add_dockercfg_doc
add .dockercfg doc
Upstream-commit: bbf644ed62cf815cf40ef3de3345fac7ed42588a
Component: engine
2013-09-30 03:21:46 -07:00
Tianon Gravi bda4d2512b Add contrib/mkimage-centos.sh back (from #1621), and associated documentation link
Upstream-commit: d89ce09a76e7934338d4966d05f6b67618c8bfb0
Component: engine
2013-09-28 07:54:34 -06:00
Thatcher Peskens 17c973c7fe Changes to a new style for the docs. Includes version switcher.
* added link to edit on GitHub
* Changed image source on homepage
* Made some changes to the structure, added the ability to have l3 navigation. Added warning, note and other styles.
* Fixed an image link, removed the .. :content: links because they were quicky and didn't look good, added pagelinks to current page of other versions.
* Moved the remote client api's to their own doc
Upstream-commit: e3e041b6bf0066fa5e65625694517ff387fee3b1
Component: engine
2013-09-27 19:54:52 -07:00
Andy Rothfusz ac095d59b4 Added more context.
Upstream-commit: 0a35b1fb3681561a1f3f139d989c0bd133122123
Component: engine
2013-09-27 19:07:12 -07:00
Andy Rothfusz 467ddfdf0c Merge pull request #2034 from metalivedev/1969-cherrypick-fixcommitformat
Fix #1969 formatting, add information about multiline json
Upstream-commit: 3894add8a972aa2f2aeb2a2b8e686efd03039530
Component: engine
2013-09-27 18:19:55 -07:00
Andy Rothfusz 024f3a4096 Fix #1969 formatting, add information about multiline json
Upstream-commit: 74d54b9b2eec8f92d688b7d53e813ebe931e4114
Component: engine
2013-09-27 18:16:00 -07:00
Michael Crosby d19bad0dec Merge pull request #2032 from dotcloud/move-rm-to-client
Move run -rm to the cli only
Upstream-commit: 31fd11860b871ef9504a3d9d4c339e872cfa1822
Component: engine
2013-09-27 17:19:01 -07:00
Daniel Mizyrycki 6991928d6e Merge pull request #2006 from jo-m/master
Enable SSH Agent forwarding in Vagrant VM
Upstream-commit: b081a740b3073816e8a00bd6a2070690a475ade7
Component: engine
2013-09-27 12:07:44 -07:00
Michael Crosby 3724fa4a50 Merge pull request #1589 from unclejack/479-add_rm_support_to_docker_run
Add -rm to docker run for removing a container on exit
Upstream-commit: db869ecce57baa71f8b5eccf5fb769c3c6796438
Component: engine
2013-09-27 11:45:32 -07:00
Guillaume J. Charmes 54929011c2 Fix the attach behavior with -i
Upstream-commit: 537149829accde869430924cf988f64cfbd16f99
Component: engine
2013-09-27 11:10:55 -07:00
Andy Rothfusz d4572af49a Merge pull request #2009 from kyleconroy/master
Improve registry and index REST API documentation
Upstream-commit: ba10e289275e6e7feed851f439e8ac90078bf50f
Component: engine
2013-09-27 10:56:21 -07:00
Victor Vieux e40fd9a21b add .dockercfg doc
Upstream-commit: f4855a7cf00cc96cfffc5cb704b3b2493fe3601e
Component: engine
2013-09-27 18:19:17 +02:00
unclejack 5bcfc0bffe automatically remove container via -rm
add AutoRemove to HostConfig
add -rm flag to docker run
add TestRunAutoRemove to test -rm
docs: add -rm to commandline/command/run
add hostConfig to container monitor
make monitor destroy the container via -rm

This adds support for automatically removing a container after it
exits. The removal of the container is handled on the server side.
Upstream-commit: 22e7e107addc4703ee6ef36981dfafe985be695d
Component: engine
2013-09-27 17:43:12 +03:00
Colin Dunklau c1d534a826 Clearly point at detailed docs
Upstream-commit: edd90d46c778d28e4cf2d68a504218698a1e1e61
Component: engine
2013-09-27 08:32:55 -05:00
Victor Vieux 54d02ef8f4 Merge pull request #2023 from alexlarsson/old_kernel
Image: Fix time setting for old kernels
Upstream-commit: 514886c73dd6626799564e6309177ea8045324bf
Component: engine
2013-09-27 05:25:13 -07:00
Guillaume J. Charmes f9de2ea5c3 Merge pull request #1842 from dotcloud/split_stdout_stderr
* Runtime: Split stdout stderr
Upstream-commit: f435970695e896ae8532cd0850700ae56d0b0516
Component: engine
2013-09-26 18:05:24 -07:00
Guillaume J. Charmes c6a1c7cdae Update docs + fix endian issue
Upstream-commit: cb18a6e1b934b7f5c63f8931ee8fe51e2789c597
Component: engine
2013-09-26 17:36:21 -07:00
Alexander Larsson 05ac257fe9 Image: Fix time setting for old kernels
This is a better fix for futimes() on kernels not supporting O_PATH.
The previous fix broke when copying a device, as it tried to open it
and got and error.
Upstream-commit: 75e958bf48a83de5f3f80859aee96f3356d16d4b
Component: engine
2013-09-26 23:59:37 +02:00
Kyle Conroy 6cfd549810 Fix copypasta errors
Upstream-commit: ce05083d4bd78a8c8272742095cf662fa86739ef
Component: engine
2013-09-26 14:57:02 -07:00
Michael Crosby 5ead415a2c Move run -rm to the cli only
Upstream-commit: 723de8768145cb47fdb6af399043f9313ad29cdb
Component: engine
2013-09-26 14:52:37 -07:00
David Sissitka 6693d06bc7 Used tabs for alignment when I should've used spaces. Fixed.
Upstream-commit: c22e377a6d36816210803e34e4d73cf45a4aa828
Component: engine
2013-09-26 13:56:59 -07:00
Colin Dunklau 82ab106f91 Hint for Remote API doc details in header links
Upstream-commit: 3f0d0075f8db4ca909db266611ce99023285c061
Component: engine
2013-09-26 15:30:26 -05:00
David Sissitka f400840b85 Configured FPM to make /etc/init/docker.conf a config file.
Upstream-commit: f8c9f11f067ef94a35cbc35b8d15f67d57ce1aec
Component: engine
2013-09-26 12:52:43 -07:00
Alexander Larsson 49b5b0c54d lxc: Allow set_file_cap capability in container
This means you're able to set the bits for capabilities on files
inside the container. This is needed for e.g. many fedora packages
as they use finegrained capabilities rather than setuid binaries.

This is safe as we're not adding capabilities really, since the
container is already allowed to create setuid binaries. Setuid
binaries are strictly more powerful that any capabilities (as root implies
all capabilities).

This doesn't mean the container can *gain* capabilities that it
doesn't already have though. The actual set of caps are strictly
decreasing.
Upstream-commit: 80319add5542153146fdaecd46be5549b4397beb
Component: engine
2013-09-26 21:41:45 +02:00
Victor Vieux 715ce06407 go fmt and aufs support removed
Upstream-commit: ebfa24acb08504d8da3fcba8da897fed357f34b2
Component: engine
2013-09-26 15:40:13 +00:00
Victor Vieux 1812696aef Revert "add a -mount-method flag"
This reverts commit e52d756f40c9ccf8b37ca496cb72be057c909ed7.
Upstream-commit: 5e1d540209342fa2d6e2ab7117062a897ccf8fe8
Component: engine
2013-09-26 15:14:03 +00:00
Victor Vieux 4c426bcdc1 add a -mount-method flag
Upstream-commit: c1e25d7273f7f520a0dbac675db4e7e26c8a4a9b
Component: engine
2013-09-26 15:10:01 +00:00
Alexander Larsson 54672e1985 RootIsShared: Fix root detection
Column 4 is the mount position, column 3 will not always be
"/" for the root. On one of my system its "/root".
Upstream-commit: d263aa6ca916ba9141f341447a2387e7a6316717
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson 71899158fd Tests: Clean up any old devmapper leftovers before starting tests
Upstream-commit: 03320f0d1c5a687ec46cbf6d836cc91576b3b225
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson ceff235a4b Image.Changes: Deactivate image device after unmounting it
There is no need to keep the image device around if we were the
onces creating the device.
Upstream-commit: 6c7ae06435d6e288024691f1133d7a2a24fd8ef3
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson 30395e320c Add DeviceSet.HasActivatedDevice()
This lets you see if a device has been activated
Upstream-commit: 395bce4c4174014cb3264c35a7c6f97a2cb0948f
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson 9f649d336c image: Unmount before removing device in error paths
The device remove fails unless we unmount first
Upstream-commit: 41399ac005caa4de2dbb744e48f058f6a15e2d2b
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson f35010d2a6 runtime test: Ensure all containers are unmounted at nuke()
Otherwise we may leave around e.g. devmapper mounts
Upstream-commit: 67788723c99cda8b41e5a488b988e2a72732d684
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson d224af31e1 ShellQuoteArguments: Fix quoting
This accidentally used two quotes to start/end each quoted string.
Upstream-commit: f99f39abaa5a43e9abc19add5b9d1253a1d22485
Component: engine
2013-09-26 15:09:33 +00:00
Alexander Larsson f2940537fb Image: unmount device before removing it on failures
If we don't do this the remove will fail due to EBUSY
Upstream-commit: 009d0f9d81bbd5e130520986ce84e8f097d88a52
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson fbdbec9ab5 image: Handle systems that don't support O_PATH when updating timestamp
Older kernel can't handle O_PATH in open() so this will
fail on dirs and symlinks. For dirs wa can fallback to
the normal Utimes, but for symlinks there is not much to do
but ignore their timestamps.
Upstream-commit: ed658156133862b3f181c9d3061be24b91435095
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 63649a9435 devmapper: Fix loopback mount code
Typo in the loop-control code made it always fall back to the
old method of opening loopback devices.
Upstream-commit: cc28829429f5f11da287ecb75ee5b3e5f05d31ad
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson a3c699f6e9 applyLayer() use btrfs reflinks if availible
We use the new file copy helper which uses btrfs reflinks if availible.
Upstream-commit: 062a2b32e9500107841a52d3a63b9232a1cfde70
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 65124d19b3 Add CopyFile that can use btrfs reflinks if availible
Upstream-commit: cda87540135a85bd8d45d4eb4853d6962114ec55
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 468efce93c Remove accidental commit that enabled MountMethodFilesystem
Upstream-commit: 5415804c9d7af6c75a147252ac17f71b9c3f0069
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 9e1662b046 Add trivial copy-based CoW backend
This creates a container by copying the corresponding files
from the layers into the containers. This is not gonna be very useful
on a developer setup, as there is no copy-on-write or general diskspace
sharing. It also makes container instantiation slower.

However, it may be useful in deployment where we don't always have a lot
of containers running (long-running daemons) and where we don't
do a lot of docker commits.
Upstream-commit: adae6849871fad0d74945fa1731712ea784e9a88
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson ede74ca1b4 Add Changes.ChangesLayers()
This calculates the difference between a set of layers and a
directory tree.
Upstream-commit: ad0a6a03e3595aa04cf731cf17e90be87163389a
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 834ac3e088 Changes: Better metadata comparison
Change the comparison to better handle files that are copied during
container creation but not actually changed:

* Inode - this will change during a copy
* ctime - this will change during a copy (as we can't set it back)
* blocksize - this will change for sparse files during copy
* size for directories - this can change anytime but doesn't
  necessarily reflect an actual contents change
* Compare mtimes at microsecond precision (as this is what utimes has)
Upstream-commit: 36603e68e33dd5ab5c317c181e023f7ef7356434
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 5f068e31ed Image.applyLayer: Be better at creating identical files
There are some changes here that make the file metadata better match
the layer files:

* Set the mode of the file after the chown, as otherwise the per-group/uid
  specific flags and e.g. sticky bit is lost
* Use lchown instead of chown
* Delay mtime updates to after all other changes so that later file
  creation doesn't change the mtime for the parent directory
* Use Futimes in combination with O_PATH|O_NOFOLLOW to set mtime on symlinks
Upstream-commit: 99c7d129f422b488f478bc7887f37003dacc83e6
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 8f15bebd63 Change how ChangesDirs() works
Rather than scan the files in the old directory twice to detect the
deletions we now scan both directories twice and then do all the
diffing on the in-memory structure.

This is more efficient, but it also lets us diff more complex things
later that are not exact on-disk trees.
Upstream-commit: 02b5f1369ce09d597336e77df98e56d467b8d1ff
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 07b0e1a559 RootIsShared() - Fix array out of bounds error
This happened for me on the last (empty) line, but better safe than sorry
so we make the check general.
Upstream-commit: d478a4bb5401d7d657a2a100f98ee892a96fef2a
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson ee414671bb devmapper: Move init layer to top rather than bottom
The init layer needs to be topmost to make sure certain files
are always there (for instance, the ubuntu:12.10 image wrongly
has /dev/shm being a symlink to /run/shm, and we need to override
that). However, previously the devmapper code implemented the
init layer by putting it in the base devmapper device, which meant
layers above it could override these files (so that ubuntu:12.10
broke).

So, instead we put the base layer in *each* images devmapper device.
This is "safe" because we still have the pristine layer data
in the layer directory. Also, it means we diff the container
against the image with the init layer applied, so it won't show
up in diffs/commits.
Upstream-commit: c199ed228baf0e5d33b7739cc2442a32dece7020
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 40ab3d4138 lxc: Work around lxc-start need for private mounts
lxc-start requires / to be mounted private, otherwise the changes
it does inside the container (both mounts and unmounts) will propagate
out to the host.

We work around this by starting up lxc-start in its own namespace where
we set / to rprivate.

Unfortunately go can't really execute any code between clone and exec,
so we can't do this in a nice way. Instead we have a horrible hack that
use the unshare command, the shell and the mount command...
Upstream-commit: e40f5c7cb90fbc719241ace45b05c2c61aced658
Component: engine
2013-09-26 15:09:32 +00:00
Alexander Larsson 9536e01f9b Utils: Add ShellQuoteArguments
Upstream-commit: d80be57c1538905a46f75c95d592acec49a498d6
Component: engine
2013-09-26 15:09:32 +00:00