Commit Graph

62 Commits

Author SHA1 Message Date
Andrea Luzzardi abc1c37906 go fmt 2013-02-13 17:40:57 -08:00
Andrea Luzzardi 87d468a309 Restored dockerd from merge 2013-02-13 17:40:10 -08:00
Andrea Luzzardi 5a15550dce merge 2013-02-13 17:26:25 -08:00
Andrea Luzzardi 251a700785 Implemented support to run as a different user (through the -u flag) 2013-02-13 17:24:35 -08:00
Solomon Hykes 917a2219c2 Moved server and client logic into sub-packages docker/server and docker/client, respectively. The UI is not affected. 2013-02-13 17:10:00 -08:00
Andrea Luzzardi ace0046de2 merge 2013-02-13 14:19:35 -08:00
Andrea Luzzardi 8a5cd74ac5 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 3caa599cc8 go fmt 2013-02-13 14:00:36 -08:00
Solomon Hykes 0f6f535b0f 'docker pull' will download images from a public mirror by default 2013-02-12 22:24:55 -08:00
Solomon Hykes d5623a83bb Upload or download gzipped and bzipped images with put/pull -j/-b 2013-02-12 22:23:14 -08:00
Solomon Hykes 4c71d2a373 Clean up list of available commands 2013-02-12 17:25:41 -08:00
Solomon Hykes cf97ce5e44 Make the web UI only accessible on localhost (recommended access is through ssh tunnel) 2013-02-12 09:12:27 -08:00
Solomon Hykes 8eff441309 Disabled remote access to dockerd. Preferred usage is over ssh. 2013-02-12 08:37:12 -08:00
Solomon Hykes 7d7bc2117d 'docker kill': kill a running container without losing its filesystem and log state 2013-02-11 11:39:28 -08:00
Solomon Hykes 4c6bd577b3 Cosmetic: renamed the variable for sub-command argument parsing, to avoid confusion between 'flag' and 'flags' 2013-02-11 11:17:25 -08:00
Solomon Hykes c9f9fed539 "docker info": display system-wide information. 2013-02-04 23:37:25 -08:00
Solomon Hykes 007d92a295 docker rmi: remove an image 2013-02-01 00:08:45 -08:00
Solomon Hykes fa48ef5aec Fixed a bug with 'docker run' 2013-01-29 16:51:03 -08:00
Solomon Hykes 444975450a 'docker run' with no argument runs a shell in the base image 2013-01-29 15:51:04 -08:00
Solomon Hykes 1bfecd0de8 Fix bug introduced in e1c96499f6 which caused 'docker images' to crash 2013-01-29 12:15:39 -08:00
Solomon Hykes 3a3f237ebe Generate shorter container IDs for readability 2013-01-29 03:25:00 -08:00
Solomon Hykes e1c96499f6 List containers ordered by creation time 2013-01-29 03:24:31 -08:00
Solomon Hykes 608e96388d docker run -c COMMENT 2013-01-29 03:21:23 -08:00
Solomon Hykes f9c044dd18 'docker ps' prints shorter lines 2013-01-29 03:18:07 -08:00
Solomon Hykes 0ea0d7364a 'docker inspect' can be used on images and containers 2013-01-28 23:22:45 -08:00
Solomon Hykes 4d83c2b67b 'docker ps' lists running containers. 'docker ps -a' also includes stopped containers 2013-01-28 23:13:58 -08:00
Solomon Hykes f9fa5f3de8 '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
Solomon Hykes 4c36cafeb2 Experimenting with a UI which differentiates images and containers 2013-01-27 15:42:42 -08:00
Solomon Hykes 46d1d0b2cb Added various debugging commands: cat, write, ls, inspect, mount, umount 2013-01-27 01:08:34 -08:00
Solomon Hykes 778a0df2bc Fixed bug which caused 'docker stop' to crash when specifying a non-existing container. 2013-01-27 01:07:21 -08:00
Solomon Hykes a15b990273 Removed dependency on docker.fake. Added extra information to 'docker list': Pid, Exit code, Mounted 2013-01-27 01:04:33 -08:00
Solomon Hykes 28cee802fd docker tar: stream the contents of a container as a tar archive 2013-01-27 00:59:49 -08:00
Solomon Hykes f3884d35b9 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 426d1ce39d First integration of the actual docker package into the server. Pull and put create actual containers. Rm actually removes them. The rest is still fake. 2013-01-25 14:44:16 -08:00
Solomon Hykes 118c9c806c 'docker run -t': allocate a pseudo-tty for interactive mode (disabled by default) 2013-01-25 11:33:18 -08:00
Solomon Hykes 692ffc544a First implementation of a layer store. 'docker pull' and 'docker put' now really work (but containers are still fake) 2013-01-25 11:32:37 -08:00
Solomon Hykes 0e0edee341 Moved more utilities to docker/future 2013-01-25 11:23:18 -08:00
Solomon Hykes 5b74d5c7b6 Factored out docker/rcli (remote cli protocol), docker/fake (mocking utilities) and docker/future (real utilities which don't yet fit in the core) 2013-01-24 20:01:32 -08:00
Solomon Hykes dd7d916110 Enabled stdin and interactive mode. 'docker run -a CONTAINER bash' will now correctly run an interactive shell. This required switching to a simple raw TCP protocol by default 2013-01-23 23:14:46 -08:00
Solomon Hykes 9b8f666e6e GFR model: Get, Fork, Run. There are no more layers, only containers 2013-01-22 18:29:44 -08:00
Solomon Hykes 269dd120bf 'docker snapshot': create a new layer from a container. 'docker tar': stream the contents of a container or layer as a tar archive 2013-01-22 09:54:56 -08:00
Solomon Hykes afe8fbc939 'docker logs': print full logs of a container 2013-01-21 18:31:12 -08:00
Solomon Hykes ea3c8097c0 'docker rm': remove layers. Layers currently in use can't removed. 2013-01-21 18:12:56 -08:00
Solomon Hykes 60c56a86ad docker run -a: optionally attach to the new process. Run it in the background by default 2013-01-20 22:22:51 -08:00
Solomon Hykes 24cda823c5 docker web -u: display the URL of the web UI 2013-01-20 22:21:59 -08:00
Solomon Hykes 303ef109b4 'docker diff': inspect changes to a container's filesystem 2013-01-20 22:21:26 -08:00
Solomon Hykes 5ecbba4d82 Experimental web UI 2013-01-20 15:55:00 -08:00
Solomon Hykes 39c601a07c 'docker run' accepts layer names (it will look up the most recently added layer of that name) 2013-01-20 15:54:21 -08:00
Solomon Hykes 4ab8b716e3 Improved 'docker layers': sort by added date, -l to show only N most recent 2013-01-20 14:13:25 -08:00
Solomon Hykes cb2baeead3 Terser output for layer creation commands, to help scriptability 2013-01-20 00:58:18 -08:00