Commit Graph

846 Commits

Author SHA1 Message Date
863904b2ee Merge pull request #10080 from crosbymichael/pid-ns
Add --pid flag for staying in the host's pid namespace
Upstream-commit: 47e3da848ffbe88d0188ae6cfc09d6e1668bc293
Component: engine
2015-01-13 17:00:18 -08:00
6955e4f0e5 Merge pull request #10079 from tonistiigi/fix-attach-stdin
Fix attach stream closing issues
Upstream-commit: 23b48fbe146b6412390e18eb9ac8173ef43e73df
Component: engine
2015-01-13 16:40:42 -08:00
458ae31cfd Allow the container to share the PID namespace with the host
We want to be able to use container without the PID namespace.  We basically
want containers that can manage the host os, which I call Super Privileged
Containers.  We eventually would like to get to the point where the only
namespace we use is the MNT namespace to bring the Apps userspace with it.

By eliminating the PID namespace we can get better communication between the
host and the clients and potentially tools like strace and gdb become easier
to use.  We also see tools like libvirtd running within a container telling
systemd to place a VM in a particular cgroup, we need to have communications of the PID.

I don't see us needing to share PID namespaces between containers, since this
is really what docker exec does.

So currently I see us just needing docker run --pid=host

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 23feaaa240853c0e7f9817f8c2d272dd1c93ac3f
Component: engine
2015-01-13 16:35:17 -08:00
3fb41b40ef Fix attach stream closing issues
Fixes: #9860
Fixes: detach and attach tty mode

We never actually need to close container `stdin` after `stdout/stderr` finishes. We only need to close the `stdin` goroutine. In some cases this also means closing `stdin` but that is already controlled by the goroutine itself.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 28cf8fddd4c19e98fd0a6fcf0a6e7ea545521412
Component: engine
2015-01-14 02:03:25 +02:00
94b5bf5737 Merge pull request #10003 from vbatts/vbatts-dm_loop_file_info
devmapper: show device and loop file , if used
Upstream-commit: 044d979f4ec83aac5664691d29123c34f6db68d6
Component: engine
2015-01-14 01:15:09 +02:00
3d1cd66149 Merge pull request #10070 from thaJeztah/change-back-error-message
Mention "or rename" again in error-message.
Upstream-commit: ff401263897a8573374989db8e51d3525fa194cf
Component: engine
2015-01-13 14:56:15 -08:00
c7165c65cf Merge pull request #10058 from HuKeping/work
restart: Fix the compare of restart policy
Upstream-commit: 5862422a49fd8585a74630cf99792a1b3851a2e7
Component: engine
2015-01-13 13:38:52 -08:00
d76b9718d9 Mention "or rename" again in error-message.
The "or rename" part was removed from the error-message,
because renaming wasn't possible at the time.

Now that https://github.com/docker/docker/pull/8570 is merged,
renaming existing containers is possible.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 78820a63d647276cf17dac9ac71ed2beb19f285d
Component: engine
2015-01-13 21:57:48 +01:00
4db0e2e1ec restart: Fix the compare of restart policy
Since the failure count of container will increase by 1 every time it
exits successfully, the compare in function shouldRestart() will stop
container to restart by the last time.

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: e721ed9b5319e8e7c1daf87c34690f8a4e62c9e3
Component: engine
2015-01-13 13:05:30 +08:00
eacdfc7d44 rename a existing container
Closes #3036

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: 21a809d9ae0ef8392f37c9262dca93ff31966e22
Component: engine
2015-01-13 03:27:17 +00:00
8f2bd63073 Fix typo in error-message.
This fixes a small typo in the errormessage for memory-swap.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 5f699a465dd428d6285080ca07cb4a6634952744
Component: engine
2015-01-12 21:48:44 +01:00
fc2be6379b Merge pull request #9985 from jfrazelle/fix-exited-filter-should-not-show-running
`docker ps --filter exited=status` should not show running containers
Upstream-commit: 3ec695924009421f9b1f79368e9e5b1e3e2ca94f
Component: engine
2015-01-12 15:09:22 -05:00
6e3c62c8f5 Merge pull request #9987 from jfrazelle/fix-filter-status-exited-not-require-all
`docker ps --filter status=exited should not require passing -a`
Upstream-commit: e90e754682a4f041e9e7c8a23201524362a2433d
Component: engine
2015-01-12 15:05:58 -05:00
f517945c4b Merge pull request #9988 from nponeccop/patch-1
FsMagic should avoid sign extension on i686
Upstream-commit: 16fe2ac6b2f8a9f109d15cd4105ac8a5e7c49dd4
Component: engine
2015-01-12 12:02:09 -08:00
87c9f594f0 Merge pull request #10047 from vbatts/vbatts-graphdriver_driver_put_with_error
graphdriver: change (*Driver).Put signature
Upstream-commit: 83ab6237ac0d58e54c2f6f9308136594774386ba
Component: engine
2015-01-12 11:42:11 -08:00
7f5bc0b9fa Merge pull request #10048 from vbatts/vbatts-dm_no_newline
devmapper: remove newline string
Upstream-commit: 1c57555285b3dae6fd8d3734c80daf6547b24c66
Component: engine
2015-01-12 14:26:19 -05:00
c0b5b7e2d2 Update lxc with libcontainer SetupUser change
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 582a79f00a1d87ba0debd8f3785d867c02451e5f
Component: engine
2015-01-12 10:43:33 -08:00
67a17d26c7 devmapper: remove newline string
Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 2b51d1a167055834df331fb23c6cd373ebc06211
Component: engine
2015-01-12 13:40:42 -05:00
0e444dd64f graphdriver: change (*Driver).Put signature
There are a couple of drivers that swallow errors that may occur in
their Put() implementation.

This changes the signature of (*Driver).Put for all the drivers implemented.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
Upstream-commit: 00fd63e55807c36fedf0878645dfec995fba381d
Component: engine
2015-01-12 13:34:35 -05:00
1f71c08b6d Properly handle containers which pre-date the resolv.conf update feature
This fixes the container start issue for containers which were started
on a daemon prior to the resolv.conf updater PR. The update code will
now safely ignore these containers (given they don't have a sha256 hash
to compare against) and will not attempt to update the resolv.conf
through their lifetime.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 30eff2720a110f3ece0e429ef1897a254f0d9e71
Component: engine
2015-01-10 00:48:41 -05:00
504e80c0b5 devmapper: show device and loop file , if used
Presenly the "Data file:" shows either the loopback _file_ or the block device.
With this, the "Data file:" will always show the device, and if it is a
loopback, then there will additionally be a "Data loop file:".
(Same for "Metadata file:")

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 09c033ff872334cdcc45172ac57dbf21573481ef
Component: engine
2015-01-09 11:20:07 -05:00
668643ba96 remove redundant 'Get' for MacAddress
remove second redundant call to set MacAddress from env

Signed-off-by: Andrew Clay Shafer <andrewcshafer@gmail.com>
Upstream-commit: fa8560e3859037e7f5a7e2b37fedd91c7f6d0cf9
Component: engine
2015-01-08 21:09:23 -05:00
21a475ffb1 FsMagic should avoid sign extension on i686
`uint64(buf.Type)` on i686 is ffffffff9123683e on i686 due to sign extension, so it cannot be compared with `FsMagic(0x9123683E)`

Signed-off-by: Andrii Melnykov <andy.melnikov@gmail.com>
Upstream-commit: c754555b8742df282bd46ef056837934e973be98
Component: engine
2015-01-09 02:44:04 +02:00
24f7ba3a1f docker ps --filter exited=status should not show running containers
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 81f84023bef5e94dfbcfbb44443bc03707b355c4
Component: engine
2015-01-08 16:23:54 -08:00
5b02f75ce3 docker ps --filter status=exited should not require passing -a
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 2639e073b19f526ceecbede9439aed0aba0a4ad8
Component: engine
2015-01-08 15:37:07 -08:00
146962fdd3 Adding IPv6 network support to docker
Signed-off-by: Malte Janduda <mail@janduda.net>
Upstream-commit: 813ff7f19d6a097f39dae363d8dd81b70eee515a
Component: engine
2015-01-09 00:13:09 +01:00
d3407c8087 Merge pull request #8456 from lindenlab/cleanup-repository-info
Cleanup: Replace ResolveRepositoryName with RepositoryInfo{}
Upstream-commit: 6870bde5847d4484d87f91baf58edc52f575ea5d
Component: engine
2015-01-08 17:19:03 -05:00
8404235dd8 Merge pull request #9648 from estesp/9202-update-resolvconf
Update container resolv.conf when host network changes /etc/resolv.conf
Upstream-commit: 92af1f014520b4f75a6220478b01ed6a02ca5bfb
Component: engine
2015-01-08 14:06:55 -08:00
5aa04a56fb Deprecating ResolveRepositoryName
Passing RepositoryInfo to ResolveAuthConfig, pullRepository, and pushRepository

Moving --registry-mirror configuration to registry config

Created resolve_repository job

Repo names with 'index.docker.io' or 'docker.io' are now synonymous with omitting an index name.

Adding test for RepositoryInfo

Adding tests for opts.StringSetOpts and registry.ValidateMirror

Fixing search term use of repoInfo

Adding integration tests for registry mirror configuration

Normalizing LookupImage image name to match LocalName parsing rules

Normalizing repository LocalName to avoid multiple references to an official image

Removing errorOut use in tests

Removing TODO comment

gofmt changes

golint comments cleanup.  renaming RegistryOptions => registry.Options, and RegistryServiceConfig => registry.ServiceConfig

Splitting out builtins.Registry and registry.NewService calls

Stray whitespace cleanup

Moving integration tests for Mirrors and InsecureRegistries into TestNewIndexInfo unit test

Factoring out ValidateRepositoryName from NewRepositoryInfo

Removing unused IndexServerURL

Allowing json marshaling of ServiceConfig.  Exposing ServiceConfig in /info

Switching to CamelCase for json marshaling

PR cleanup; removing 'Is' prefix from boolean members.  Removing unneeded json tags.

Removing non-cleanup related fix for 'localhost:[port]' in splitReposName

Merge fixes for gh9735

Fixing integration test

Reapplying #9754

Adding comment on config.IndexConfigs use from isSecureIndex

Remove unused error return value from isSecureIndex

Signed-off-by: Don Kjer <don.kjer@gmail.com>

Adding back comment in isSecureIndex

Signed-off-by: Don Kjer <don.kjer@gmail.com>
Upstream-commit: 568f86eb186731b907b659e4ec64bda21c2fe31d
Component: engine
2015-01-08 20:14:58 +00:00
ae1406d798 Update container resolv.conf when host network changes /etc/resolv.conf
Only modifies non-running containers resolv.conf bind mount, and only if
the container has an unmodified resolv.conf compared to its contents at
container start time (so we don't overwrite manual/automated changes
within the container runtime). For containers which are running when
the host resolv.conf changes, the update will only be applied to the
container version of resolv.conf when the container is "bounced" down
and back up (e.g. stop/start or restart)

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 63a7ccdd2372d87f56f7a86da07c72ea51332c2a
Component: engine
2015-01-08 14:15:13 -05:00
6aa8095ea3 Remove BridgeIP from ipallocation pool
Closes #9938

Signed-off-by: Malte Janduda <mail@janduda.net>
Upstream-commit: f4551b8a48bdc7a135466398eecfb103fcde25c6
Component: engine
2015-01-08 16:21:09 +01:00
2f04c54fbb Merge pull request #9928 from jfrazelle/cleanup-var
Cleanup unnecessary var.
Upstream-commit: 1aba2810a229e3beb8e1fba7838c4a5eaeae2fff
Component: engine
2015-01-06 15:03:30 -08:00
b060268a74 Merge pull request #8748 from duglin/Issue8330
Have .dockerignore support Dockerfile/.dockerignore
Upstream-commit: 6d780139c4b7960b482a5f4fbf043adb6673864b
Component: engine
2015-01-06 13:47:42 -08:00
e0d18f3201 Merge pull request #9829 from ashahab-altiscale/9812-lxc-custom-ip
LXC TEMPLATE ALLOWS IPV4 OVERRIDE
Upstream-commit: f51ee9fe8df6fe32fc70d265b456a688e1de8bfc
Component: engine
2015-01-06 13:25:09 -08:00
26492f1526 Merge pull request #9834 from jfrazelle/9820-overlay-btrfs
Add error when running overlay over btrfs.
Upstream-commit: 9d1caf4272ea0a28366989a67de56705cff70c40
Component: engine
2015-01-06 13:16:17 -08:00
7f219d12ee Cleanup unnecessary var.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 83ef40cbe98e450e1a66bda6eb663be02e5eb7a8
Component: engine
2015-01-06 11:35:49 -08:00
2e77fe142f Add error when running overlay over btrfs.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 32f1025b22d16872ead5ec2e3650bf76622fae99
Component: engine
2015-01-06 11:22:45 -08:00
1a4a1b2193 Have .dockerignore support Dockerfile/.dockerignore
If .dockerignore mentions either then the client will send them to the
daemon but the daemon will erase them after the Dockerfile has been parsed
to simulate them never being sent in the first place.

an events test kept failing for me so I tried to fix that too

Closes #8330

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 6d801a3caa54ad7ef574bc426aa1ffc412c5af82
Component: engine
2015-01-06 10:57:48 -08:00
985e3e60ac Merge pull request #8941 from agonzalezro/log-duplicates
Log when truncindex.Get returns >1 container
Upstream-commit: 84dc197b087dc63280cdae50795a36434a84fa6f
Component: engine
2015-01-06 10:41:19 -08:00
8e21317253 Merge pull request #9858 from jfrazelle/exec-buildtag
The comment for build in exec had a typo
Upstream-commit: a33f7a07d1ea21d2a6912d84877eb7fc9e1c2303
Component: engine
2015-01-06 10:26:21 -08:00
10fbd71b68 Merge pull request #9603 from hqhq/hq_add_memory_swap
add support to set MemorySwap
Upstream-commit: 748b7459b3268c014e781d93fa9b374fe742b811
Component: engine
2015-01-06 10:09:21 -08:00
bb5364c7fd Add plus to build
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: f339d3bceb4634bba1bc27e455d0fd8505df17bf
Component: engine
2015-01-06 10:07:13 -08:00
1a0f6735e2 Merge pull request #9511 from cpuguy83/refactor_attach
Refactor daemon.attach()
Upstream-commit: 01412d336d71804645afaca991dd7450a33a4fb0
Component: engine
2015-01-06 09:57:49 -08:00
ee8de7da26 restart: Fix an error about arguments missing
Function shouldRestart() checks the restart policy and records the
debug info and there should be two arguments in the log.Debugf().

Prior to the this patch, the logs were something like this:
- client: $ docker run --restart=on-failure:3 ubuntu /bin/sh -c 'exit 1'
- daemon: INFO[0168] ...
	  DEBU[0168] stopping restart of container %!s(int=3) because maximum
	  failure could of %!d(MISSING) has been reached
	  INFO[0086] ...

Btw, fix a spelling error in the same file:
- cotnainer -> container

----------------------------------------

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: af053ccf6b3179978e087defd0062664152697ef
Component: engine
2015-01-06 12:25:39 +08:00
54ba72eea9 Use waitgroup instead of iterating errors chan
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: e6c9343457c501c1da718c25bb9601f87d82cd7d
Component: engine
2015-01-05 18:01:13 -08:00
d55545783e Refactor daemon.attach()
Also makes streamConfig Pipe methods not return error, since there was
no error for them to be able to return anyway.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 21e44d7a21014f6f0d5e159221f9b9165874a2e1
Component: engine
2015-01-05 15:56:48 -08:00
47870ad057 Merge pull request #9908 from crosbymichael/warning-graphdriver
Add warning log when high priority graphdriver used before
Upstream-commit: e404113afc4877acc7f6501a86399799e7f668ef
Component: engine
2015-01-05 12:06:28 -08:00
640802f7d4 Remove error return from check graph driver func
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 3011aa4e9984b0631b67f640a191677e2f3d0a8f
Component: engine
2015-01-05 10:34:49 -08:00
fb6c082460 change to lazy Unmount
syscall.Unmount failed sometimes when user interrupted exporting,
for example a Ctrl-C, or pipe to commands which closed the pipe early,
like "docker export <container_name> | file -"; this syscall.Unmount
could sometimes return EBUSY and didn't actually umount the filesystem;
which would cause a following export command fail to mount;
change to lazy Unmount with MNT_DETACH can fix the problem, this is
the same behavior as in Shutdown;

```text
time="2015-01-03T21:27:26Z" level=error msg="Warning: error unmounting device
34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e: device or resource busy"
```

```
$ docker export thirsty_ardinghelli | file -
/dev/stdin: POSIX tar archive
time="2015-01-03T21:58:17Z" level=fatal msg="write /dev/stdout: broken pipe"
$ docker export thirsty_ardinghelli
time="2015-01-03T21:54:33Z" level=fatal msg="Error: thirsty_ardinghelli: Error getting container
34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e from driver devicemapper:
Error mounting '/dev/mapper/docker-253:0-3148372-34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e'
on '/var/lib/docker/devicemapper/mnt/34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e': device or resource busy"
```

Signed-off-by: Derek Che <drc@yahoo-inc.com>
Upstream-commit: 9bbed5ab4ceaff5e78c21f0fa2d84de5ffd41f94
Component: engine
2015-01-04 00:10:48 +00:00
4309ebf3d1 Add exec event create/start log
added exec event log follwing issue #8662 proposal.
logging events for exec create and start API

Signed-off-by: daehyeok mun <daehyeok@daehyeokui-MacBook-Air.local>
Upstream-commit: e3d813f37f48ed52330e3dc26aa363e58401fbf5
Component: engine
2015-01-03 20:38:25 +09:00