Commit Graph

230 Commits

Author SHA1 Message Date
abf9a1fe77 make the port mapping deprecation error message more obvious see 4075
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
Upstream-commit: 2275c83358986c9f612ebb1915c5d3392319f1f8
Component: engine
2014-03-04 10:45:26 +10:00
dc4d93c655 Merge pull request #4327 from crosbymichael/add-libcontainer
Add native execution driver to docker and make it the default
Upstream-commit: 69c69059fc3933531e19c05a9d2e831fb713881c
Component: engine
2014-03-03 16:34:20 -08:00
c8d0d20361 runtime: Fix unique constraint error checks
The sqlite3 version in fedora (3.8) returns a different error string in the unique constraints
failure case than the one in hack/ (3.7). This updates the check to detect both, fixing
one integration check failure on Fedora.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: e8af7fcf6da03da65a379c12c90e6626c31846ae
Component: engine
2014-03-03 15:10:52 +01:00
9248431c6a Fix cross compile for make cross
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 93ed15075c43d521f05f4b8f96264efb7fe174e4
Component: engine
2014-02-25 15:19:13 -08:00
0cd1a2f6a4 Move container.json and pid file into a root specific driver dir
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 96e33a7646b3669632f48ed1071aeb61b8016be1
Component: engine
2014-02-25 12:41:31 -08:00
9649d5107a Remove container env var from libcontainer
Update tests to use native driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 431d510cae85bc1265c861028dd9751ae95088b2
Component: engine
2014-02-24 21:51:00 -08:00
530d80759d Fix exec driver flag, rename new driver to 'native'
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: d59c05a37c3e964cdeef818afc2e7c3a3e8d0cf1
Component: engine
2014-02-24 20:41:09 -08:00
4f321caf5c Merge branch 'master' into add-libcontainer
Conflicts:
	runtime.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 27a43692c2b114ed9b6418e75d16cbb2e6c7a993
Component: engine
2014-02-24 20:35:12 -08:00
781668c938 Merge pull request #4189 from vbatts/vbatts-execdriver_flag
execdriver flag for docker daemon
Upstream-commit: c9addff4449d0d6671373b9a6376fbe94bb43fb4
Component: engine
2014-02-24 23:28:17 -05:00
f6bf4c8510 Rename namespace driver to docker
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 77f68f74c7e6fc977fb2681c7ee60ac652be983e
Component: engine
2014-02-24 16:42:30 -08:00
4c203f5a85 Add info for driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: cfd188e9251f5047e4fd677fe8f2921ae28b8bcc
Component: engine
2014-02-24 14:11:09 -08:00
4fbf234237 Initial commit of libcontainer running docker
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 2419e63d243255ef38f16799ffdc64084aa18fe4
Component: engine
2014-02-21 17:23:49 -08:00
a808fdbf65 Change Console to Terminal
Move creation and attach to driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 1e742876988546efb876f67f83de6737ee5e9cf6
Component: engine
2014-02-21 12:32:14 -08:00
c39069efb0 execdriver flag for docker daemon
like the storage-driver flag, this implements a flag for choosing the
  execdriver to be used, defaulting to lxc.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
Upstream-commit: 5f84d7f3146db1ac15974f1e28f77834de3e63ff
Component: engine
2014-02-17 20:03:53 -05:00
a7d9996138 Cleanup some statements from exec driver work
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 9e3da87a3a6fea21194ceb9dbd30a39d043a48a4
Component: engine
2014-02-14 17:28:50 -08:00
e12f62e6df Properly close archives
All archive that are created from somewhere generally have to be closed, because
at some point there is a file or a pipe or something that backs them. So, we
make archive.Archive a ReadCloser. However, code consuming archives does not
typically close them so we add an archive.ArchiveReader and use that when we're
only reading.

We then change all the Tar/Archive places to create ReadClosers, and to properly
close them everywhere.

As an added bonus we can use ReadCloserWrapper rather than EofReader in several places,
which is good as EofReader doesn't always work right. For instance, many compression
schemes like gzip knows it is EOF before having read the EOF from the stream, so the
EofCloser never sees an EOF.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: f198ee525ad6862dce3940e08c72e0a092380a7b
Component: engine
2014-02-14 13:46:17 +01:00
e378922981 Move the canonical run configuration objects to a sub-package
* Config is now runconfig.Config
    * HostConfig is now runconfig.HostConfig
    * MergeConfig is now runconfig.Merge
    * CompareConfig is now runconfig.Compare
    * ParseRun is now runconfig.Parse
    * ContainerConfigFromJob is now runconfig.ContainerConfigFromJob
    * ContainerHostConfigFromJob is now runconfig.ContainerHostConfigFromJob

This facilitates refactoring commands.go and shrinks the core.

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 6393c38339e11b4a099a460ecf46bb5cafc4283b
Component: engine
2014-02-11 20:18:46 -08:00
9ed97b673b Move even more stuff into dockerversion
Also, use it in all the places. :)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Upstream-commit: da04f49b383c02ee28c32f948048b9e9a402bb4f
Component: engine
2014-02-11 17:26:54 -07:00
c19931ad4a Avoid extra mount/unmount during container registration
Runtime.Register() called driver.Get()/Put() in order to read back the
basefs of the container. However, this is not needed, as the basefs
is read during container.Mount() anyway, and basefs is only valid
while mounted (and all current calls satisfy this).

This seems minor, but this is actually problematic, as the Get/Put
pair will create a spurious mount/unmount cycle that is not needed and
slows things down. Additionally it will create a supurious
devicemapper activate/deactivate cycle that causes races with udev as
seen in https://github.com/dotcloud/docker/issues/4036.

With this change devicemapper is now race-free, and container startup
is slightly faster.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: 0c71015dcf788c5342bb9422a447b7f9ad12d43d
Component: engine
2014-02-11 18:02:30 +01:00
4ce6d81f0d Improve no command handling
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 44821158409d59024173336188e087c605e1da1a
Component: engine
2014-02-10 11:04:24 -08:00
052a914774 Fix integration tests
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 49b9813035b3abb445ef7238f034897fa03a9652
Component: engine
2014-01-31 12:04:44 -08:00
2879fa9100 Fix sending []byte in job env
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 2d8709696c80e992a5b20ba7a00ca3268c57c11c
Component: engine
2014-01-31 12:04:44 -08:00
0b250038dd Update core calls to network drivers
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: c712e74b45005e0f38297d254fb606aa18606d11
Component: engine
2014-01-31 12:04:44 -08:00
3044e71de0 Merge pull request #3841 from alexlarsson/separate-base-fs
Separate out graphdriver mount and container root
Upstream-commit: 53ee1daa699ab28fdd37d77b2cfbb0fc14dc0fdb
Component: engine
2014-01-31 11:49:14 -08:00
c5b80fe410 Merge pull request #3718 from alexlarsson/btrfs
Add btrfs support to docker
Upstream-commit: 637a1dcab65c7335d979d42af190a53d9bbea9f7
Component: engine
2014-01-30 10:00:44 -08:00
6d81dd5d9b Separate out graphdriver mount and container root
This separates out the directory as returned from the graphdriver (the
"base" fs) from the root filesystem of the live container. This is
necessary as the "diff" operation needs access to the base filesystem
without all the mounts that the running container needs (/.dockerinit,
volumes, etc).

We change container in the following way:

Container.RootfsPath() returns the the directory which will be used as
the root in a running container. It is always of the form
"/var/lib/docker/container/<id>/root" and is a private bind mount to
the base filesystem. It is only available while the container is running.

Container.BasefsPath() returns the raw directory from the graph driver
without the container runtime mounts. It is availible whenever the
container is mounted (in between a container.Mount()/Unmount() pair,
which are properly refcounted).

This fixes issue #3840

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: fab19d197c6cc362182f6cee4d0a6e65e799875f
Component: engine
2014-01-30 16:43:53 +01:00
1feadd553a Simplify logic for registering ports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: da61b99b392657343df4dc221ba5cd9ad6b1c9e1
Component: engine
2014-01-26 14:01:38 -08:00
225e97e755 Merge pull request #3724 from creack/extract-lxc-phase-2
Refactor process to command
Upstream-commit: 0dd856ee7f636c82e9420ebbd9e2d0b3aeea5136
Component: engine
2014-01-23 15:28:45 -08:00
96dad4beb8 Populate command in ghost state to pass to RestoreCommand
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 8723a8a89ec7d5b2a37e0536d7aadd78e5329773
Component: engine
2014-01-22 14:05:01 -08:00
3467e8dad5 Populate Command self cointainer (toward Restore())
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
Upstream-commit: 75e0357d691499b20dc903b702bc44c444f85005
Component: engine
2014-01-22 14:04:55 -08:00
a906461155 Add experimenta btrfs driver
This is an experimental btrfs driver. To use it you must have
/var/lib/docker mounted on a btrfs filesystem and explicitly
specify DOCKER_DRIVER=btrfs in the docker daemon environment.

It works by using subvolumes for the docker image/container layers.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: e51af36a85126aca6bf6da5291eaf960fd82aa56
Component: engine
2014-01-22 21:44:09 +01:00
47913f96e1 Merge pull request #3073 from alexlarsson/refcount-driver-mounts
Refcount driver mounts
Upstream-commit: f61a91f50a753e0b8878675b4bab8ee4dc2a70e1
Component: engine
2014-01-22 11:42:17 -08:00
f30d57c548 Fix wait on stopped container (after docker restart) + add Unit test for that case
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
Upstream-commit: 0376a69cb1cc839f7e1a147623b399147a5976c9
Component: engine
2014-01-21 16:49:24 -08:00
36def61b75 Remove container.EnsureMounted
This was deprecated already and all it did was call Mount().
The use of this was a bit confusing since we need to pair Mount/Unmount
calls which wasn't obvious with "EnsureMounted".

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: 191aa17d16c0935a7deda03b4c3bc879f7a316eb
Component: engine
2014-01-21 11:26:11 +01:00
5e35604785 Add Put() to graphdriver API and use it
This makes all users of Put() have a corresponding call
to Get() which means we will be able to track whether
any particular ID is in use and if not unmount it.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Upstream-commit: bcaf6c2359d83acd5da54f499e21f4a148f491c5
Component: engine
2014-01-21 11:25:37 +01:00
5b95959a09 Rename Process to Command
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
Upstream-commit: 12468f2bc8a72a6bedfd681084863ea95b48713b
Component: engine
2014-01-20 16:05:07 -08:00
72a4c2e064 Rename Capabilities in sysinfo and move it to its own subpackage
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: crosbymichael)
Upstream-commit: 9e9f4b925b4b6a58a03bbff09150f1314d5fe3b2
Component: engine
2014-01-17 17:42:58 -08:00
ae872300fb Cleanup + add Info to driver in order to have specific IsRunning()
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: crosbymichael)
Upstream-commit: 889b4b10ae3ec1d6e7879c30860aafd7674cb576
Component: engine
2014-01-17 17:42:22 -08:00
ecb354d61e Improve wait for lxc and driver interface
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 8c9f62d037a1bc82742ea316adaaf658af56b7c3
Component: engine
2014-01-17 17:42:22 -08:00
28c45914a4 Make exec driver run a blocking command
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: f846ecdc77bb9ab4d44b41a2e403bcf579d6b6e9
Component: engine
2014-01-17 17:42:22 -08:00
98268ad2c1 Add chroot driver for testing
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 8e0741f5e40d107780a5be1f6ae0f4d30ba43d7d
Component: engine
2014-01-17 17:42:22 -08:00
695537a626 Update with lxc unconfined changes
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 93ead2fe789a3a94a8433b12efcca782e0a7d7de
Component: engine
2014-01-17 17:42:22 -08:00
a8716549d6 Rework monitor and waitlock inside of driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 8e87835968a4c6233406061759e3dca03ab86989
Component: engine
2014-01-17 17:42:22 -08:00
f9406fce53 WIP complete integration test run
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 5a3d9bd432fdaa95f870d4d99fad1d6fafeaad92
Component: engine
2014-01-17 17:42:21 -08:00
dc2dffef1c Integrate process changes in container.go
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: f2680e5a5b1fc2393dfe319fe4dd197672985411
Component: engine
2014-01-17 17:42:21 -08:00
2514b9eb9b Merge pull request #3420 from RoelVanNyen/getfullname
Cleanup: runtime.getFullName is deprecated by getFullName
Upstream-commit: a0298c0bd070400b4acaad3c2d285037b5875552
Component: engine
2014-01-06 13:59:04 -08:00
0ccbdf155d Extract cgroups utilities to own submodule.
Use mountinfo rather than for cgroups parsing.
Make helper method private and change name.
Makes method naming more explicit rather than GetThisCgroup.
Use upstream term subsystem rather than cgroupType.
Upstream-commit: c561212b837735213f146c2fac291f84dbcbc8c3
Component: engine
2014-01-02 17:54:57 -05:00
bde96d77e1 Cleanup: runtime.getFullName is deprecated by getFullName
Upstream-commit: 9dd7ae4074ecfceb62c3c3eae1811c5bd018c38c
Component: engine
2014-01-02 00:06:50 +01:00
10227320c8 Move utility package 'graphdb' to pkg/graphdb
Upstream-commit: d16d748132330ff58e142472a579d1f6c65e3eac
Component: engine
2013-12-23 23:33:06 +00:00
cf1704f27a Merge pull request #3064 from tianon/custom-dockerinit-path
Allow custom dockerinit path
Upstream-commit: 636dfc82b0c9aaddd5b0f5fb0f70797d5068c93e
Component: engine
2013-12-19 14:31:41 -08:00