Andrea Luzzardi
0da9ccc18e
Fixed a bug preventing proper reattachment to stdin upon container restart
2013-02-13 19:05:57 -08:00
Andrea Luzzardi
1793538a68
Generate LXC config upon start rather than at container creation
2013-02-13 18:14:46 -08:00
Andrea Luzzardi
6de3e8a22d
Implemented support to run as a different user (through the -u flag)
2013-02-13 17:24:35 -08:00
Andrea Luzzardi
58a2294260
Implemented a self-injecting process wrapper that runs inside the container
...
- Before starting the container, docker injects itself inside the container by mount binding the dockerd binary into /sbin/init
- Instead of running the user process directly inside the container, we run /sbin/init targetprocess [args...]
- When docker is run as /sbin/init (e.g. argv[0] == "/sbin/init"), then its own sys init code kicks in
- The sys init code will be responsible for setting up the process environment prior to its execution (setuid, networking, ...).
- Finally, docker's sys init will exec() the container's process, thus replacing itself with the target binary (which will be running as pid 1)
2013-02-13 14:01:44 -08:00
Andrea Luzzardi
caea45dd72
Container: Improved pseudo-terminal support
2013-01-29 15:51:21 -08:00
Andrea Luzzardi
94b1cf4be3
go fmt
2013-01-29 13:50:27 -08:00
Solomon Hykes
c7a944caf2
List containers ordered by creation time
2013-01-29 03:24:31 -08:00
Solomon Hykes
7a50153c32
'docker run -i' optionally opens stdin. 'docker attach' attaches to a running container (including stdin). 'docker run -t' allocates a tty (still buggy)
2013-01-28 17:50:12 -08:00
Andrea Luzzardi
333abbf85a
go fmt
2013-01-28 14:30:05 -08:00
Solomon Hykes
904b0ab52b
Experimenting with a UI which differentiates images and containers
2013-01-27 15:42:42 -08:00
Solomon Hykes
fc19a00103
Fixed a bug which caused Container.Start() to fail when the rootfs was already mounted.
2013-01-27 01:06:02 -08:00
Solomon Hykes
b6fb5bb21b
Create empty mountpoints (./rw and ./rootfs) every time we create or load a container
2013-01-27 00:49:09 -08:00
Solomon Hykes
5d6dd22fb2
Plugged 4 more commands into the real backend: 'diff', 'reset', 'run', 'stop'. 'run' actually runs the process, but doesn't capture outptu properly, and encounters mount issues
2013-01-26 15:56:42 -08:00
Solomon Hykes
dbc7fb7575
Merge branch 'master' of ssh://github.com/dotcloud/docker
2013-01-25 18:02:56 -08:00
Andrea Luzzardi
6513a1d94e
Fixed a bug preventing containers from running after being restored
2013-01-25 16:20:34 -08:00
Solomon Hykes
fca2625490
Merge branch 'master' of ssh://github.com/dotcloud/docker
2013-01-25 15:42:43 -08:00
Andrea Luzzardi
f4e25694c1
container: Fixed a bunch of race conditions by getting rid of lxc-wait.
2013-01-25 15:36:47 -08:00
Solomon Hykes
11b65a00c6
Container.SetUserData() and GetUserData(): attach optional user data to a container
2013-01-25 14:39:02 -08:00
Andrea Luzzardi
2193b0c954
Docker: Fixed an issue with container unmarshaling which prevented
...
docker.restore() to work properly.
2013-01-25 14:09:21 -08:00
Andrea Luzzardi
f958bdba8a
Fixed lxc-wait race condition. Added unit test to try running multiple
...
containers in parallel.
2013-01-22 17:30:09 -08:00
Andrea Luzzardi
f0c08b57ab
Restart() implementation
2013-01-22 15:03:40 -08:00
Andrea Luzzardi
8e9bb02ce5
Container: Better serialization/reloading support
2013-01-22 11:13:22 -08:00
Andrea Luzzardi
78c02daf47
container.Name -> container.Id
2013-01-21 18:39:52 -08:00
Andrea Luzzardi
24dac22892
Docker: Clean shutdown of containers.
...
Stop() will send a SIGTERM to the init process of the container and give it 10 seconds to shutdown properly.
After the timeout is reached, the process will be force killed (SIGKILL).
Also available is Kill() which kills the process on the spot.
2013-01-21 18:03:23 -08:00
Andrea Luzzardi
a27b4b8cb8
Initial commit
2013-01-18 16:13:39 -08:00