Guillaume J. Charmes
889b4b10ae
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)
2014-01-17 17:42:22 -08:00
Michael Crosby
8c9f62d037
Improve wait for lxc and driver interface
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
c2b602b2ac
Use utils.Go to get error from monitor
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
f3f2456b04
Simplify chroot wait, address code review issues
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
8a38ead219
Move setup pty and standard pipes to funcs
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
1e81387edc
Remove SysinitPath from process
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
f846ecdc77
Make exec driver run a blocking command
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
8e0741f5e4
Add chroot driver for testing
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
1d8455e683
Move RootIsShared to lxc driver
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
93ead2fe78
Update with lxc unconfined changes
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
66782730b8
Fix network disabled for container
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
77936ba1a1
Fix race in set running
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
381d593d04
Fix race in cleanup
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
ad9710685c
Fix race in TestRun
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
8b60273f76
Update with container specific waitLock
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
8e87835968
Rework monitor and waitlock inside of driver
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:22 -08:00
Michael Crosby
5a3d9bd432
WIP complete integration test run
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:21 -08:00
Michael Crosby
1c1cf54b0a
Fix tty set issue for ioctl error
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:21 -08:00
Michael Crosby
5573c744e4
Embed exec.Cmd on Process
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:21 -08:00
Michael Crosby
25a2697717
Keep state in core on container
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:21 -08:00
Michael Crosby
f2680e5a5b
Integrate process changes in container.go
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-17 17:42:21 -08:00
Michael Crosby
f231539e99
Add remount for bind mounts in ro
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-14 15:20:21 -08:00
Michael Crosby
0354c3a95c
Do not add hostname when networking is disabled
...
Docker-DCO-1.0-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
2014-01-08 16:57:56 -08:00
Tianon Gravi
e525ad3f9b
Fix a few miscellaneous typos (Unkown -> Unknown, Recieve -> Receive)
...
Docker-DCO-1.0-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
2014-01-07 22:15:53 -07:00
Solomon Hykes
7ce7516c12
Move utility package 'term' to pkg/term
2013-12-23 23:42:37 +00:00
Michael Crosby
566ff54d0d
Allow mtu to be configured at daemon start
2013-12-20 12:12:03 -05:00
Michael Crosby
0e6f0c4e02
Move MTU setting outside of lxc and set with netlink
2013-12-19 11:51:44 -08:00
Victor Vieux
f21bd80e90
Merge pull request #3271 from crosbymichael/mount-outside
...
Perform docker specific mounts outside of lxc
2013-12-19 11:13:31 -08:00
Michael Crosby
7bc96aec7b
Improve interface by moving to subpkg
...
Enable builds on OSX
2013-12-18 16:42:49 -08:00
Victor Vieux
536da93380
prevent a panic with docker run -v /
2013-12-18 13:57:49 -08:00
Michael Crosby
45d7dcfea2
Handle external mounts outside of lxc
2013-12-18 13:46:02 -08:00
Victor Vieux
f9328ad9cc
Merge pull request #3201 from jpoimboe/libvirt-prereq-network
...
Set hostname and IP address from dockerinit
2013-12-13 10:38:17 -08:00
Josh Poimboeuf
e877294321
dockerinit: propagate "container" env variable from lxc
...
Lxc (and libvirt) already set the "container" env variable
appropriately[1], so just use that.
[1] http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface/
2013-12-12 20:08:58 -06:00
Josh Poimboeuf
ecc51cd465
dockerinit: set IP address
...
Set the IP address in dockerinit instead of lxc utils, to prepare for
using libvirt-lxc.
2013-12-12 19:57:11 -06:00
Josh Poimboeuf
b8f1c73705
dockerinit: drop capabilities
...
Drop capabilities in dockerinit instead of with lxc utils, since
libvirt-lxc doesn't support it.
This will also be needed for machine container mode, since dockerinit
needs CAP_SYS_ADMIN to setup /dev/console correctly.
2013-12-12 13:47:24 -06:00
Guillaume J. Charmes
8fd9633a6b
Improve FollowLink to handle recursive link and be more strick
2013-12-11 17:19:02 -08:00
Michael Crosby
f396c42cad
Fix volumes on the host by following symlinks in a scope
2013-12-11 16:31:02 -08:00
Daniel Garcia
761184df52
don't open bind mounted files/dirs to get Stat, use os.Lstat
2013-12-10 12:49:53 -06:00
Paul Nasrat
40fe9f581b
Extract volume bind, creation and external methods.
...
Make Start() slightly more readable.
2013-12-03 18:58:31 -05:00
Paul Nasrat
84f78d9cad
Extract helper method for volume linking.
...
Makes this more readable.
2013-12-03 17:35:54 -05:00
Guillaume J. Charmes
d6cdbca6c1
Merge pull request #2775 from daniel-garcia/2671-bindmount_files
...
fixes #2671 , add support for bind mounting individual files in to contai...
2013-12-02 09:30:08 -08:00
Guillaume J. Charmes
fbebe20bc6
Add a GetPtyMaster() method to container to retrieve the pty from an other package.
...
We could also have put ptyMaster public, but then we need to ignore it in json
otherwise the Marshalling fails. I think it is cleaner that way.
2013-11-29 07:40:44 -08:00
daniel-garcia
0198f8a879
fixes #2671 , add support for bind mounting individual files in to containers, rebases of #1757 #2301
2013-11-21 23:40:35 -06:00
Michael Crosby
0cecc2a78c
Merge branch 'master' into 0.6.5-dm-plugin
...
Conflicts:
container.go
image.go
2013-11-21 17:18:41 -08:00
Michael Crosby
25e443a3c7
Merge pull request #2798 from dotcloud/fix_state_race
...
Refactor State to be 100% thread safe
2013-11-21 16:39:50 -08:00
Guillaume J. Charmes
33e70864a2
Refactor State to be 100% thread safe
2013-11-21 16:34:58 -08:00
Michael Crosby
f7c2a00557
Merge pull request #2304 from unclejack/fix_layer_size_computation
...
Fix layer size computation: handle hard links correctly
2013-11-21 16:10:24 -08:00
Guillaume J. Charmes
bcdeb37bb6
Merge pull request #2794 from dotcloud/fix_status_code_and_usage
...
fix status code and usage
2013-11-21 13:48:38 -08:00
Michael Crosby
cb70eedfda
Revert "Lock state before we modify."
...
This reverts commit d7e2fc8982
.
2013-11-21 12:11:25 -08:00
Victor Vieux
75a7f4d90c
Return status exit status 2 on usage, move parserun into commands.go, display usage on stderr
2013-11-21 11:43:07 -08:00
Paul Nasrat
d7e2fc8982
Lock state before we modify.
...
When we start a container we lock state, we should do the same in stop.
Detected via -race.
2013-11-21 08:06:02 -05:00
Michael Crosby
8fdbf46afb
Fix image size calc on initial save
2013-11-20 14:51:04 -08:00
Victor Vieux
cd022376b8
Merge branch 'master' into vieux_merge_master
...
Conflicts:
runtime.go
2013-11-19 17:32:08 -08:00
unclejack
78c843c8ef
fix container size computation: handle hard links
...
This change makes docker compute container size correctly.
The old code isn't taking hard links into account. Containers could
seem like they're up to 1-1.5x larger than they really were.
2013-11-19 13:53:34 +02:00
Alexander Larsson
5d76681c3d
Implement fallback for getting the size of a container
...
This moves Driver.Size() to Differ.DiffSize(), removing the empty
implementations in devmapper and dummy, and renaming the one in aufs.
Then we fall back to a container.Changes() implementation in the non-aufs
case.
2013-11-19 10:36:54 +01:00
Josh Poimboeuf
fc2f5758cf
fix container restart race condition
...
Finish container cleanup before setting the state to stopped.
Otherwise, for an application that exits quickly, a call to Restart
can allow Start to be called again before cleanup is done, resulting in
overritten data in the Container struct.
2013-11-18 11:42:30 -06:00
Michael Crosby
4908d7f81d
Save driver to container and skip incompat containers
...
For people who toggle drivers we want to save the driver used
to create a container so that if the driver changes we can skip
loading the container and it should not show up in docker ps
2013-11-14 22:53:59 -08:00
Guillaume J. Charmes
7cf60da388
Merge branch 'master' into shykes-0.6.5-dm-plugin
...
Conflicts:
utils.go
utils_test.go
2013-11-14 14:02:44 -08:00
Michael Crosby
629c6e3649
Merge pull request #2445 from alexlarsson/fix-shared-root-from-dm
...
Fix lxc start for shared root filesystems
2013-11-14 11:20:53 -08:00
Michael Crosby
5d9723002b
Allow drivers to implement ApplyDiff in Differ interface
2013-11-11 19:09:57 -08:00
Victor Vieux
bc6d872841
on docker start, do not cleanup if already running
2013-11-11 18:15:38 -08:00
Michael Crosby
2c7f50a77d
Add ability to exclude files from tar
2013-11-11 14:30:38 -08:00
Victor Vieux
4c7d24bc8b
Merge branch 'master' of https://github.com/zilin/docker into zilin-master
...
Conflicts:
container.go
2013-11-11 12:59:18 -08:00
Victor Vieux
87c8437a90
Merge pull request #2140 from SvenDowideit/2098-run-cidfile-should-return-longid
...
Server: always return long id's
2013-11-11 13:06:19 -08:00
Victor Vieux
da24945070
Merge branch 'master' of https://github.com/aanand/docker into aanand-master
2013-11-11 12:34:16 -08:00
Michael Crosby
4d1a537433
Remove Differ and Changer interfaces
...
Add the methods to the Driver interface
to force the drivers to implement the methods
2013-11-11 12:10:53 -08:00
Alexander Larsson
e82f8c1661
Implement fallback operation for driver.Diff()
...
This moves the Diff() operation to a separate Differ interface and
implements a fallback that uses the Changes() results to encode
a diff tar.
2013-11-11 17:46:07 +01:00
Sven Dowideit
b3974abe4f
make all image ID and container ID API responses use the Long ID ( Closes #2098 )
2013-11-09 12:16:49 +10:00
Michael Crosby
1f35531f39
Merge pull request #13 from crosbymichael/fix-volume-mount
...
Do not pass container information when creating a volume
2013-11-08 16:35:00 -08:00
Michael Crosby
ddb27268c9
Do not pass container information when creating a volume
2013-11-08 16:11:57 -08:00
Michael Crosby
1eb00e1d5b
Allow drivers to export their own diff
2013-11-08 15:32:50 -08:00
Michael Stapelberg
e7fdcc15c5
Return “err” instead of “nil” when MkdirAll() fails when binding a volume
2013-11-08 22:52:10 +01:00
Michael Crosby
20f690f176
Make sure dirs are created before injecting file
2013-11-08 12:06:15 -08:00
Victor Vieux
49d7b87cfc
prevent panic if you use API in a wrong way
2013-11-07 18:54:00 -08:00
Solomon Hykes
99210c9c6e
Don't rely on drivers for diff and export
2013-11-08 02:48:52 +00:00
Victor Vieux
f417c4b099
Merge branch '1887-allow_ro_volumes-from' of https://github.com/daniel-garcia/docker into daniel-garcia-1887-allow_ro_volumes-from
2013-11-07 17:59:55 -08:00
Solomon Hykes
9ae4bcaaf8
Move Change to the archive package, and fix a leftover merge in
...
Container.Inject()
2013-11-08 00:45:07 +00:00
Solomon Hykes
f1127b9308
gofmt
2013-11-07 23:58:03 +00:00
Solomon Hykes
165d1bdbc0
Merge branch 'master' into 0.6.5-dm-plugin
...
Conflicts:
container.go
runtime.go
2013-11-07 23:26:52 +00:00
Solomon Hykes
f2bab1557c
Simplify graphdriver interface: Create, Get. No more external mounting or Dir/Image interface
2013-11-07 22:38:50 +00:00
Solomon Hykes
77ae9789d3
Internal cleanup: use the mounted container filesystem instead of manipulating the aufs layers directly
2013-11-07 20:30:56 +00:00
Guillaume J. Charmes
6998c3c387
go fmt
2013-11-07 12:27:33 -08:00
Alexander Larsson
157d99a727
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 rshared.
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...
2013-11-06 20:43:06 +01:00
Mark Allen
74f853a2ae
See if a path exists before injecting Reader there
...
Closes #1965
2013-11-05 23:44:52 -06:00
unclejack
4b8c41c4a2
disallow / as source for bind mount in the cli
...
This makes the docker cli reject docker run commands which include bind
mounts like "/:/some/path/in/the/container".
Bind mounting the root directory is a bad idea and the cli should throw
an error right away.
The same check will also be made by the remote API via another commit.
2013-11-05 22:52:54 +02:00
Daniel Garcia
f9cb6ae46a
Add ability to mount volumes in readonly mode using -volumes-from
2013-11-05 11:58:51 -06:00
Guillaume J. Charmes
342bd43b76
Merge pull request #2525 from dotcloud/fix_hostnames
...
Fix regression in /etc/hosts
2013-11-04 11:26:27 -08:00
Solomon Hykes
98c3693acf
Integrate devmapper and aufs into the common "graphdriver" framework.
...
aufs is still enabled by default, no mechanism for switching drivers
yet.
2013-11-04 17:28:35 +00:00
Paul Nasrat
95708dd35c
Create new network on dead ghosts on restart.
...
Fixes #2089
2013-11-03 14:13:18 -05:00
Victor Vieux
f3685333c0
fix regression in /etc/hosts
2013-11-01 15:46:26 -07:00
Victor Vieux
7ddd4fe66a
rebase
2013-11-01 14:01:32 -07:00
Jérôme Petazzoni
31638ab2ad
Refactor HostConfig and escape apparmor confinement
2013-11-01 13:55:19 -07:00
Michael Crosby
65ba2868d7
Merge pull request #2492 from dotcloud/publish-all-flag
...
Add -P flag to publish all exposed ports
2013-11-01 10:21:02 -07:00
Aanand Prasad
9ee9d2f995
Container memory limit can be specified in kilobytes, megabytes or gigabytes
...
-m 10 # 10 bytes
-m 10b # 10 bytes
-m 10k # 10240 bytes (10 * 1024)
-m 10m # 10485760 bytes (10 * 1024 * 1024)
-m 10g # 10737418240 bytes (10 * 1024 * 1024 * 1024)
Units are case-insensitive, and 'kb', 'mb' and 'gb' are equivalent to 'k', 'm' and 'g'.
2013-11-01 12:00:17 +00:00
Solomon Hykes
36c7a7ae94
Partial merge of devmapper/ in order to integrate it as a backend
...
plugin.
The merge is inert, in other words the devmapper code is not called
and the primary aufs backend is untouched.
2013-11-01 04:24:17 +00:00
Michael Crosby
699a1074fb
Initial work on moving aufs to a subpackage
2013-10-31 18:07:54 -07:00
Michael Crosby
96d1e9bb5a
Move archive.go to sub package
2013-10-31 16:57:45 -07:00
Michael Crosby
652f07bb59
Add -P flag to publish all exposed ports
2013-10-31 11:28:30 -07:00
Zilin Du
b543516556
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
container.go
2013-10-31 10:53:40 -07:00
Brian Olsen
1c3a674444
Fixed problem with variables containing \n.
...
The /.dockerenv file is now a marshalled json array so that environment
variables with \n and other weird values are supported.
2013-10-31 01:19:32 +01:00