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
Brian Olsen
25c4c87c86
Support copying value from env with -e option.
2013-10-31 01:19:09 +01:00
Brian Olsen
be7eb4bfcb
Set environment variables using a file.
2013-10-31 00:48:12 +01:00
Michael Crosby
746ba127bf
Hotfix: Migrate public mappings after upgrade
2013-10-30 08:15:12 -07:00
Victor Vieux
e0b59ab52b
Enable sig-proxy by default in run and attach
2013-10-29 11:18:34 -07:00
Michael Crosby
0d2924408b
Add -name for docker run
...
Remove docker link
Do not add container id as default name
Create an auto generated container name if not
specified at runtime.
2013-10-28 18:09:08 -07:00
Tianon Gravi
cf86e2bb22
Rename all cases of "docker-init" to "dockerinit" for consistency
2013-10-25 15:13:25 -07:00
Alexander Larsson
d063c8d941
Move ListOps to utils submodule
...
This will be needed for later use in docker-init without a docker
dependency
2013-10-25 15:13:24 -07:00
Michael Crosby
1cbdaebaa1
Add links for container relationships and introspection
2013-10-25 15:13:24 -07:00
Michael Crosby
ff567f8729
Merge pull request #2385 from dotcloud/suppress_even_more_warnings_test
...
Improve tests again, remove warnings and prevent some mount issues
2013-10-25 15:04:56 -07:00
Victor Vieux
a675e249b1
fix workdir, hostname tests and a bunch on mount issue
2013-10-24 16:57:35 -07:00
Jérôme Petazzoni
b9eb5e04ae
Ignore ErrClosedPipe for stdin in Container.Attach.
...
But pass `err` in the error channel anyway; don't ignore it anymore.
2013-10-24 15:04:58 -07:00
Victor Vieux
10e10c9573
fix race condition in docker build with verbose + cleanup hostIntegration debug
2013-10-22 15:01:06 -07:00
Guillaume J. Charmes
3e014aa662
Fix attach race condition, improve unit tests, make sure the container is started before unblocking Start
2013-10-18 16:26:16 -07:00
Guillaume J. Charmes
333bc23f21
Fix issue killing container while sending signal
...
Fix rebase issue
Update docs
2013-10-18 16:19:27 -07:00
Guillaume J. Charmes
4918769b1a
Add -nostdin and -proxy to docker attach, allow arbirary signal to be sent via docker kill api endpoint
...
Allow attach from `docker start`
Add host integration script generation
Update doc with host integration
2013-10-18 16:16:29 -07:00
Guillaume J. Charmes
e9ee860c91
Merge branch 'master' into dm
...
Conflicts:
Dockerfile
buildfile.go
container.go
hack/make/test
runtime_test.go
utils/utils.go
2013-10-18 12:38:29 -07:00
Guillaume J. Charmes
c2175ae736
Switch back some Errorf to Debugf.
2013-10-18 12:29:16 -07:00
Michael Crosby
3ba9893786
Merge pull request #2242 from jpetazzo/remove-spurious-errors-and-errclosedpipe
...
Fix error/debug messages in Container.Attach and recover from ErrClosedPipe
2013-10-16 17:27:23 -07:00
Victor Vieux
e40fd1e3e1
fix panic
2013-10-16 21:39:03 +00:00
Guillaume J. Charmes
ed6ca109bf
Refactor container.Start()
2013-10-16 13:12:56 -07:00
Victor Vieux
664acd2971
Add clean if start fail
2013-10-16 19:48:24 +00:00
Jérôme Petazzoni
fc659b68e4
Fix error/debug messages in Container.Attach and recover from ErrClosedPipe conditions.
2013-10-16 11:35:45 -07:00
Michael Crosby
80bd64245f
Add filesystemtype for containers
...
If no type is specified then assume aufs.
2013-10-15 11:49:13 -07:00
Karl Grzeszczak
ad723bbfe7
Initial steps to fix Issue #936
...
Use utils.Errorf instead of utils.Debugf
2013-10-11 08:04:40 -05:00
Solomon Hykes
1804fcba93
Merged master into device-mapper branch
2013-10-10 12:50:30 -07:00
Zilin Du
c2912c82aa
change 127.0.0.1 -> 127.0.1.1 & remove ::1 -> hostname mapping
2013-10-10 09:44:48 -07:00
Zilin Du
7d95d300ab
replace 127.0.0.1 by the assigned IP address in the container's /etc/hosts file.
2013-10-08 14:29:22 -07:00
Victor Vieux
152302e379
go fmt and aufs support removed
2013-09-30 17:35:02 -06:00
Alexander Larsson
b0a9147fd5
runtime test: Ensure all containers are unmounted at nuke()
...
Otherwise we may leave around e.g. devmapper mounts
2013-09-30 17:35:02 -06:00
Alexander Larsson
43a7d3d0e9
Add trivial copy-based CoW backend
...
This creates a container by copying the corresponding files
from the layers into the containers. This is not gonna be very useful
on a developer setup, as there is no copy-on-write or general diskspace
sharing. It also makes container instantiation slower.
However, it may be useful in deployment where we don't always have a lot
of containers running (long-running daemons) and where we don't
do a lot of docker commits.
2013-09-30 17:35:01 -06:00
Alexander Larsson
429587779a
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 rprivate.
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-09-30 17:35:01 -06:00
Alexander Larsson
c138801073
Container: Inject into the mount, not the rwPath
...
For device-mapper setups we can't just push the file into the rwPath.
2013-09-30 17:35:01 -06:00
Alexander Larsson
b0626f403b
Implement container.ExportRW() on device-mapper
2013-09-30 17:34:59 -06:00
Alexander Larsson
fda6ff9c27
Make TarFilter more useful
...
There are a few changes:
* Callers can specify if they want recursive behaviour or not
* All file listings to tar are sent on stdin, to handle long lists better
* We can pass in a list of filenames which will be created as empty
files in the tarball
This is exactly what we want for the creation of layer tarballs given
a container fs, a set of files to add and a set of whiteout files to create.
2013-09-30 17:34:59 -06:00
Alexander Larsson
1c5dc26a7c
Implement docker diff for device-mapper
...
To do diffing we just compare file metadata, so this relies
on things like size and mtime/ctime to catch any changes.
Its *possible* to trick this by updating a file without
changing the size and setting back the mtime/ctime, but
that seems pretty unlikely to happen in reality, and lets
us avoid comparing the actual file data.
2013-09-30 17:34:59 -06:00
Alexander Larsson
a9ec1dbc9b
Image: Deactivate image device when unmounting container
...
There is no need to keep all the device-mapper devices active, we
can just activate them on demand if needed.
2013-09-30 17:34:59 -06:00
Alexander Larsson
e368c8bb01
Image: Add runtime and container id args to Mount()
...
We will later need the runtime to get access to the VolumeSet
singleton, and the container id to have a name for the volume
for the container
2013-09-30 17:34:58 -06:00
Victor Vieux
bcce3cbdd1
Merge pull request #1995 from dotcloud/fix_attach_2
...
Fix the attach behavior with -i
2013-09-30 03:29:19 -07:00
Guillaume J. Charmes
537149829a
Fix the attach behavior with -i
2013-09-27 11:10:55 -07:00
Michael Crosby
723de87681
Move run -rm to the cli only
2013-09-26 14:52:37 -07:00
Michael Crosby
db869ecce5
Merge pull request #1589 from unclejack/479-add_rm_support_to_docker_run
...
Add -rm to docker run for removing a container on exit
2013-09-27 11:45:32 -07:00
unclejack
22e7e107ad
automatically remove container via -rm
...
add AutoRemove to HostConfig
add -rm flag to docker run
add TestRunAutoRemove to test -rm
docs: add -rm to commandline/command/run
add hostConfig to container monitor
make monitor destroy the container via -rm
This adds support for automatically removing a container after it
exits. The removal of the container is handled on the server side.
2013-09-27 17:43:12 +03:00
Alexander Larsson
c1c74cb0b1
Container: Always create a new session for the container
...
We never want the container to be in the same process group as the
daemon, as then the container will receive signals sent to the
process group of the container.
2013-09-24 14:57:29 +02:00
Victor Vieux
2fafe1efce
Merge pull request #1948 from dotcloud/fix_attach
...
Fix attach issue
2013-09-23 02:15:51 -07:00
Michael Crosby
23cf3c7a33
Merge pull request #1934 from dotcloud/host-permissions
...
Only copy files and change permissions with non bindmount
2013-09-22 09:40:52 -07:00
Guillaume J. Charmes
e97364ecd7
Improve detach unit tests
2013-09-20 13:36:19 -07:00
Guillaume J. Charmes
2bd089dadb
Fix attach issue
2013-09-20 11:31:00 -07:00
Michael Crosby
b45e280ee8
Only copy files and change permissions with non bindmount
2013-09-19 20:35:05 -07:00
Guillaume J. Charmes
68074fce68
Merge pull request #1886 from dotcloud/multi-volumes-from
...
* Runtime: Allow multiple volumes-from
2013-09-19 12:01:12 -07:00
Michael Crosby
45b50730e3
Merge pull request #1849 from dotcloud/better_handle_hostConfig
...
Improved hostConfig reload
2013-09-16 10:48:53 -07:00
Michael Crosby
b79bd4e864
Allow multiple volumes-from
2013-09-14 20:09:15 +00:00
Michael Crosby
b986fd00e0
Merge pull request #1846 from dotcloud/fix_return_error
...
Fix wrong return error
2013-09-13 09:44:38 -07:00
Brian Olsen
9cfbaecfe5
Transfer uid and gid to volume. Fixes #1737 .
2013-09-11 03:17:42 +02:00
Victor Vieux
f482432a76
improved hostConfig reload
2013-09-10 22:13:15 +00:00
Victor Vieux
44d0f941f2
fix wrong return error
2013-09-10 17:16:59 +00:00
Victor Vieux
27ca0c225a
Merge branch '1582_fix_volume_content' of https://github.com/griff/docker into griff-1582_fix_volume_content
2013-09-10 16:52:46 +00:00
Michael Crosby
e89396809f
Merge pull request #1735 from dotcloud/1301-support-domainname
...
Add domain name support
2013-09-09 17:21:11 -07:00
Victor Vieux
4f2e59f94a
bind mount /etc/hosts and /etc/hostname
2013-09-09 20:29:57 +00:00
Victor Vieux
0a436e03b8
add domainname support
2013-09-09 20:29:06 +00:00
shin-
2ea52dddec
Merge branch 'better_api_ports' of git://github.com/shin-/docker into shin--better_api_ports
2013-09-04 22:25:01 +02:00
Brian Olsen
7a9c711832
Copies content from image to volumne if non-empty. Fixes #1582 .
2013-08-30 22:02:05 +02:00
Brian Olsen
6756e786ac
Just fixing gofmt issues in other people's code.
2013-08-30 22:02:05 +02:00
Victor Vieux
eee6d3dae9
add TEST env var during tests and silenced parserun during tests
2013-08-29 22:55:29 +00:00
shin-
98018df078
More descriptive, easier to process container portmappings information in the API
2013-08-28 00:20:35 +02:00
Michael Crosby
c2b273df5d
Merge pull request #1611 from pysqz/master
...
Make sure 'Ghost' container is available with allocated IP
2013-08-27 11:30:00 -07:00
pysqz
cc18a9c650
Also reuse forwarding ports
2013-08-28 03:14:21 +08:00
Michael Crosby
551092f9c0
Add lxc-conf flag to allow custom lxc options
2013-08-22 16:05:21 +00:00
pysqz
2f6ce27fde
Make sure 'Ghost' container is available with allocated IP
2013-08-21 22:37:58 +08:00
Victor Vieux
b21f898620
assume ip_forwarding = 1 by default
2013-08-19 12:34:30 +00:00
Marco Hennings
687d27ab57
Add an option to set the working directory.
...
This makes it possible to simply wrap a command inside a container. This makes
it easier to use a container as an unified build environment.
Examples:
~/workspace/docker
$ docker run -v `pwd`:`pwd` -w `pwd` -i -t ubuntu ls
AUTHORS Makefile archive.go changes.go docker
[...]
docker run -v `pwd`:`pwd` -w `pwd` -i -t ubuntu pwd
/home/marco/workspace/docker
2013-08-18 19:34:01 +02:00
Michael Crosby
15bc2240ac
Merge pull request #1505 from dotcloud/improve_events
...
Add image name in /events
2013-08-14 15:40:36 -07:00
Guillaume J. Charmes
631c449183
Merge pull request #1496 from xdissent/1351-volumes-from-before-volumes
...
* Runtime: Apply volumes-from before creating volumes
2013-08-14 15:10:41 -07:00
Jérôme Petazzoni
280901e5fb
add -insecure flag and relevant tests
2013-08-13 16:20:22 -07:00
Victor Vieux
703905d7ec
ensure the use oh IDs and add image's name in /events
2013-08-12 11:50:03 +00:00
Greg Thornton
57b49efc98
Skip existing volumes in volumes-from
...
Removes the error when a container already has a volume that would otherwise
be created by `Config.VolumesFrom`. Allows restarting containers with a
`Config.VolumesFrom` set.
2013-08-10 06:37:57 +00:00
Greg Thornton
3bd73a9633
Apply volumes-from before creating volumes
...
Copies the volumes from the container specified in `Config.VolumesFrom` before
creating volumes from `Config.Volumes`. Skips any preexisting volumes when
processing `Config.Volumes`. Fixes #1351
2013-08-10 04:55:23 +00:00
Colin Rice
10190be5d7
Add warning when net.ipv4.ip_forwarding = 0
...
Added warnings to api.go, container.go, commands.go, and runtime.go
Also updated APIInfo to return whether IPv4Forwarding is enabled
2013-08-07 18:28:39 -04:00
Michael Crosby
d94b186080
Strip leading forward slash from resource
2013-08-06 16:09:54 +00:00
Michael Crosby
5b8cfbe15c
Add cp command and copy api endpoint
...
The cp command and copy api endpoint allows users
to copy files and or folders from a containers filesystem.
Closes #382
2013-08-06 16:09:54 +00:00
Guillaume J. Charmes
f6fa353dd8
Merge pull request #1267 from sridatta/new-clean-init
...
* Runtime: Fix to "Inject dockerinit at /.dockerinit"
2013-08-05 13:23:22 -07:00
Guillaume J. Charmes
29de2432ea
Merge pull request #1350 from ndarilek/1348-add-hostname-to-environment
...
Runtime: add hostname to environment
2013-08-02 13:58:43 -07:00
Nolan
9a604acc23
Add hostname to the container environment.
2013-07-31 09:50:53 -05:00
Victor Vieux
cd9f7f29d1
Merge pull request #1334 from dotcloud/1314-compat_broke-fix
...
Discard error when loading old container format
2013-07-31 01:08:08 -07:00
Thatcher Peskens
5dc86d7bca
Updated the description of run -d
...
The goal is to make it more clear this will give you the container id after run completes.
Since stdout is now standard on run, "docker run -d" is the best (or only) way to get the container ID returned from docker after a plain run, but the description (help) does not hint any such thing.
2013-07-29 14:17:15 -07:00
Victor Vieux
b2aa877bf0
fix #1314 discard error when loading old container format
2013-07-29 16:40:35 +00:00
Mike Gaffney
4ebe2cf348
Change reserve-compatibility to reverse-compatibility
2013-07-26 01:10:42 -07:00
Guillaume J. Charmes
fd9ad1a194
Fixes #505 - Make sure all output is send on the network before closing
2013-07-24 15:48:51 -07:00