Solomon Hykes
c808940c04
Refactored CmdRun and CmdAttach to use Container.Attach
2013-04-01 23:52:20 -07:00
Mikhail Sobolev
f65fc1e766
add host name parameter to "run" command
...
fixes #243
2013-04-02 01:26:17 +03:00
Mikhail Sobolev
dcc9dfb27d
make complex options to stand out
2013-04-02 01:26:17 +03:00
Caleb Spare
c298a91f95
Use a *println or *print function instead of *printf where appropriate.
2013-04-01 12:17:00 -07:00
Solomon Hykes
1632566ecb
Show shorthand image IDs for convenience. Shorthand IDs (or any non-conflicting prefix) can be used to lookup images
2013-03-31 22:11:55 -07:00
Solomon Hykes
a52a28b609
Temporarily disable a broken test (waiting for @creack to fix it), and silence a warning which pollutes unit tests but is complicated to fix
2013-03-31 22:05:14 -07:00
Solomon Hykes
54443c092c
gofmt
2013-03-31 22:04:59 -07:00
Dominik Honnef
6f9a67a7c7
Make IP allocator lazy
...
Instead of allocating all possible IPs in advance, generate them as
needed.
A loop will cycle through all possible IPs in sequential order,
allocating them as needed and marking them as in use. Once the loop
exhausts all IPs, it will wrap back to the beginning. IPs that are
already in use will be skipped. When an IP is released, it will be
cleared and be available for allocation again.
Two decisions went into this design:
1) Minimize memory footprint by only allocating IPs that are actually
in use
2) Minimize reuse of released IP addresses to avoid sending traffic to
the wrong containers
As a side effect, the functions for IP/Mask<->int conversion have been
rewritten to never be able to fail in order to reduce the amount of
error returns.
Fixes gh-231
2013-04-01 06:02:44 +02:00
Guillaume J. Charmes
d949e2804a
Add a check to avoid double start (resulting in dockerd to panic) and unit test for it
2013-03-31 14:15:10 -07:00
Solomon Hykes
0b9a3c86a2
Show shorthand container IDs for convenience. Shorthand IDs (or any non-conflicting prefix) can be used to lookup containers
2013-03-31 02:02:01 -07:00
Guillaume J. Charmes
4760749402
Close the containers stdin when the process dies
2013-03-30 09:08:53 -07:00
Guillaume J. Charmes
7efde5eb83
Fix a scope issue preventing the close of slave stdin pty ( #228 )
2013-03-30 09:07:54 -07:00
Guillaume J. Charmes
5252ab697c
Store the master ptys in order to close them when the process dies ( #228 )
2013-03-30 09:05:53 -07:00
Solomon Hykes
d0d5d5ff09
Merge pull request #265 from dotcloud/formating_debug_harmonize
...
Formating debug harmonize
2013-03-29 21:30:43 -07:00
Guillaume J. Charmes
0f7a4534c1
Do not log non-running containers
2013-03-29 08:46:06 -07:00
Guillaume J. Charmes
7a565a0479
Remove unused variable from container struct
2013-03-29 08:41:48 -07:00
Guillaume J. Charmes
69c2250ec2
Add some error checking in container monitor
2013-03-29 08:29:59 -07:00
Guillaume J. Charmes
d17f78c373
Harmonize the error management. Use fmt.Errorf instead of errors.New
2013-03-29 08:19:42 -07:00
Guillaume J. Charmes
ccac5b1382
Add debug infos
2013-03-29 08:18:43 -07:00
Maxim Treskin
6d72758f12
Remove unnecessary part of paths to lxc executables
2013-03-29 12:07:25 +07:00
Jonathan Rudenberg
a6da7f138c
Camelize some snake_case variable names
2013-03-28 20:12:23 -04:00
Guillaume J. Charmes
cca59081de
#189 Fix the env in TTY mode
2013-03-26 07:01:59 -07:00
shin-
2333be46aa
Re-enabled help for run command and added client-side error messages when arguments are missing
2013-03-26 08:31:26 -07:00
Guillaume J. Charmes
c85db1003b
Force xterm as TERM in tty mode
2013-03-25 19:20:18 -07:00
Guillaume J. Charmes
50bee2f811
Fix termcaps on the linux client
2013-03-25 18:44:05 -07:00
Solomon Hykes
bd63ae72e6
Merge branch 'master' of ssh://github.com/dotcloud/docker
2013-03-25 14:25:17 -07:00
shin-
c8ca50b483
Fixed issue #158 (docker crashes when docker run is called with not enough arguments)
2013-03-25 07:17:11 -07:00
Solomon Hykes
b32436cd2e
Prevent container.Kill() from crashing if container.cmd is nil
2013-03-23 19:51:35 -07:00
Solomon Hykes
6ce64e8458
Moved image name into config. runtime.Create() now receives a single Config parameter
2013-03-23 12:39:09 -07:00
Solomon Hykes
031f91df1a
runtime.Create receives an image name + Config. The Config includes all required runtime information: command, environment, ports etc.
2013-03-23 12:16:58 -07:00
Solomon Hykes
34fbaa5f6d
'docker run -e': set environment variables in a container
2013-03-22 20:36:34 -07:00
Solomon Hykes
ef711962d5
Folded graph/ back into main package
2013-03-21 17:47:23 -07:00
Solomon Hykes
d65983f386
No need for a Container.networkManager field: it can be accessed via Container.runtime
2013-03-21 01:43:03 -07:00
Solomon Hykes
0208b6accd
moved GenerateId() to the graph package
2013-03-21 01:07:07 -07:00
Solomon Hykes
b8547f31e4
Renamed Docker{} to Runtime{} for clarity
2013-03-21 00:41:15 -07:00
Solomon Hykes
7c57a4cfc0
Simplified the core container API, ported it to the new graph. Some features are missing eg. image 'paths' and tags
2013-03-21 00:25:00 -07:00
creack
453d49573c
Put back the github.com path for the import
2013-03-12 11:59:27 -07:00
creack
150a4fe7e5
Merge master within fs
2013-03-12 08:33:21 -07:00
Guillaume J. Charmes
45a8bba15e
gofmt
2013-03-12 05:36:37 -07:00
Guillaume J. Charmes
e0b09d4933
Add "nuke" function to docker tests to avoid disk space waste
2013-03-12 00:08:41 -07:00
Sam Alba
948961831a
Renamed Container property Ram to Memory before it is too late
2013-03-11 19:25:02 -07:00
Sam Alba
75d04a5a75
Added support for RamSwap in the generated LXC config (to limit the swap and have the right default settings)
2013-03-11 17:40:54 -07:00
Solomon Hykes
2548722dae
Fix a bug which caused dockerd to crash at startup if a container didn't have a registered mountpoint
2013-03-11 17:05:01 -07:00
Guillaume J. Charmes
687d6f25ee
Change relative paths to absolute
2013-03-11 02:59:52 -07:00
shin-
5d6199b925
post-merge repairs
2013-03-11 07:39:06 -07:00
shin-
2441edf1a3
Merged upstream changes in fs branch
2013-03-11 05:50:09 -07:00
shin-
97a8209438
Merged master branch into fs
2013-03-11 05:42:36 -07:00
Solomon Hykes
4474cd5677
Fixed a bug which caused docker to crash at startup while restoring existing containers
2013-03-09 19:49:09 -08:00
Solomon Hykes
c59fff422f
gofmt
2013-03-09 19:44:09 -08:00
shin-
93ba6dd82b
Plugged in image store in front-end (some commands are deactivated right now, will progressively reintroduce them
2013-03-08 10:48:22 -08:00
Solomon Hykes
2df0bc6bc0
Container logs are persisted on disk
2013-03-06 16:08:44 -08:00
Andrea Luzzardi
09eacdfade
Container can now take a list of ports to expose in its config
2013-02-28 11:51:14 -08:00
shin-
2ebf3464a1
Halfway through fs branch fixes, TestUser not passing
2013-02-26 17:45:46 -08:00
Andrea Luzzardi
c7f4602b18
Merge from master
2013-02-26 17:32:07 -08:00
Solomon Hykes
ebaa50c4c9
docker wait: block until a container exits, and print its exit code
2013-02-26 11:43:54 -08:00
Andrea Luzzardi
c08f5b2b84
Integrated the network allocator into Docker. A networking environment
...
is assigned to each container upon Start and released whenever the
container exits.
2013-02-25 14:06:22 -08:00
Andrea Luzzardi
5cecd548cd
Basic networking support with hardcoded addresses. Work in progress.
2013-02-21 10:47:57 -08:00
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