Commit Graph
2310 Commits
Author SHA1 Message Date
James Hunt e87d4b5af0 Clear Linux VERSION and default exec driver.
Signed-off-by: James Hunt <james.o.hunt@intel.com>
2016-02-12 13:26:21 +00:00
James Hunt 0a19f03d99 Clear Containers for Docker Engine (v1.9.1)
Signed-off-by: James Hunt <james.o.hunt@intel.com>
2016-02-12 13:26:08 +00:00
Anusha Ragunathan 8d7d152b87 Fix devmapper backend in docker info
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit fdc2641c2b329c48cf1d1c8c0b806bec8784b3e0)
2015-11-20 07:24:48 -05:00
Vivek Goyal ad0298c5a1 devmapper: Switch to xfs as default filesystem if supported
If platform supports xfs filesystem then use xfs as default filesystem
for container rootfs instead of ext4. Reason being that ext4 is pre-allcating
lot of metadata (around 1.8GB on 100G thin volume) and that can take long
enough on AWS storage that systemd times out and docker fails to start.

If one disables pre-allocation of ext4 metadata, then it will be allocated
when containers are mounted and we will have multiple copies of metadata
per container. For a 100G thin device, it was around 1.5GB of metadata
per container.

ext4 has an optimization to skip zeroing if discards are issued and
underlying device guarantees that zero will be returned when discarded
blocks are read back. devicemapper thin devices don't offer that guarantee
so ext4 optimization does not kick in. In fact given discards are optional
and can be dropped on the floor if need be, it looks like it might not be
possible to guarantee that all the blocks got discarded and if read back
zero will be returned.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
(cherry picked from commit 07ff17fb850e5ddae6f38cc21776ebb9b1690f3e)
2015-11-12 15:13:00 -05:00
Vivek Goyal 039cf28484 devmapper: Warn if user specified a filesytem and base device already has fs
If user wants to use a filesystem it can be specified using dm.fs=<filesystem>
option. It is possible that docker already had base image and a filesystem
on that. Later if user wants to change file system using dm.fs= option
and restarts docker, that's not possible. Warn user about it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
(cherry picked from commit 83a34e000b2332d9a1b4214a77fae021ed144acb)
2015-11-12 15:13:00 -05:00
Lei Jitang 5d417ee6e8 Test to verify --mac-address doesn't get applied to new endpoint
created on network connect.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
(cherry picked from commit 451b79d69102ad95f1b91a52bb4b17c240f41e56)
2015-11-12 15:12:59 -05:00
Santhosh Manohar 9a1d077d9c Allow port mapping only for endpoint created on docker run
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
(cherry picked from commit dedcf6a6ff6d3aa75efaeb31c197b1c3a19305be)
2015-11-12 15:12:59 -05:00
Alessandro Boch a2f92e92b5 Restore IPv6 from MAC on default bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 095a8ac5451de25a91fc569a6633fdd8d4cabb3f)
2015-11-12 15:12:59 -05:00
Lei Jitang 2d6c4af15e Prevent connecting to host and prevent disconnecting from host
Container has private network namespace can not to connect to host
and container with host network can not be disconnected from host.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit a2d8c93fc690c2244a3bed32a2bbeb8dae449f90)
2015-11-10 12:50:34 -05:00
Bryan Boreham 3f089980e4 Fix typo in error message
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
(cherry picked from commit 93405dd037ffb54e7e72d9d36be4a16d1d76fa50)
2015-11-10 12:37:39 -05:00
Alexander Morozov 25493c674b Speedup container list
Remove all unneeded disk operations (reload TagStore, umarshal image)
for checking if image still points to same ID. Now slowest part is
queries to sqlite which hopefuly will be removed soon.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit f256d8ad2d)
2015-11-10 12:37:39 -05:00
David Calavera ed95e3d325 Use an empty slice as default value for DNS, DNSSearch and DNSOptions
So we don't print those <no value> in the client and we don't fail
executing inspect templates with API field names.

Make sure those fields are initialized as empty slices when
a container is loaded from disk and their values are nil.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit f1a74a89f89affcfbe311e89aa752b3d551e0340)
2015-11-09 19:06:59 -05:00
Dan Walsh 4f23c44a68 Fix relabel for SELinux
With the changes merged into runc/libcontainer, are now causing
SELinux to attempt a relabel always, even if the user did not
request the relabel.

If the user does not specify Z or z on the volume mount we should
not attempt a relabel.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
(cherry picked from commit d9011b36176d6245bdc25401633c213d73e14ea0)
2015-11-09 18:36:30 -05:00
Tonis Tiigi f4dbb093eb Fix symlink handling in builder ADD/COPY commands
Fixes #17290

Fixes following issues:

- Cache checksums turning off while walking a broken symlink.

- Cache checksums were taken from symlinks while targets were actually copied.

- Copying a symlink pointing to a file to a directory used the basename of the target as a destination basename, instead of basename of the symlink.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 47da59f7ec4ee0f49d47a9b32abb137bb30b2c48)
2015-11-09 18:36:29 -05:00
Zhang Wei 7aa5d784d7 Fix --cluster-store option parser
`--cluster-store` is of form KV-PROVIDER://KV-URL, this commit makes
sure that KV-URL contains no "://"

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
(cherry picked from commit 0ebdac8bee0c587a8a10e3bcdec46e9d8360e2fb)
2015-11-09 18:36:28 -05:00
Alessandro Boch e1f59b5987 Verify Endpoint.Info() before accessing it
- During concurrent operations in multihost environment,
  it is possible that the implementer of `EndpointInfo`
  is nil. It simply means the endpoint is no longer
  available in the datastore.

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 54d22cbd9a04a965c935a693bf403d2c87109b5a)
2015-11-09 18:36:27 -05:00
David Calavera 04c79bb941 Make the stats collector to collect network stats.
Currently, we get the network stats each time per subscriber, causing a
high load of cpu when there are several subscribers per container.

This change makes the daemon to collect once and publish N times, where N is the
number of subscribers per container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 453473d6a964e58f4a61599bd90d62d0088f0cc2)
2015-11-09 18:36:27 -05:00
Alessandro Boch a9450f35cc Fix bug in initializeNetwork()
- On `docker run --net <network id> ...`
  the bug would cause the container to attempt
  to connect to the network two times
- Also made sure endpoint creation rollback will
  be executed on failures in `func (container *Container) connectToNetwork()`

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 45e71a79840887b7974387bedba0544015ab4e3b)
2015-11-09 18:36:26 -05:00
David Calavera 08091ba9fb Turn IPC unmount errors into warnings.
And do not try to unmount empty paths.

Because nobody should be woken up in the middle of the night for them.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit a54d5932e3a644317c77d59bc5aee562841d5c20)
2015-11-09 18:36:26 -05:00
Brian Goff 19f3bc00ee Force IPC mount to unmount on daemon shutdown/init
Instead of using `MNT_DETACH` to unmount the container's mqueue/shm
mounts, force it... but only on daemon init and shutdown.

This makes sure that these IPC mounts are cleaned up even when the
daemon is killed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 78bd17e805b7514505455b10f2fd90962505a3ff)
2015-11-09 18:36:26 -05:00
Jana Radhakrishnan 75847fb840 Vendoring libnetwork
Vendoring libnetwork @ 05a5a1510f85977f374a9b9804a116391bab5089

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 10e1b9f02ee633349bc45631dac18cb4cc5baa61)
2015-11-02 23:13:29 -05:00
Madhu Venugopal 0d762ef9d2 fixing ungraceful daemon restart case where nw connect is not persisted
For graceful restart case it was done when the container was brought
down. But for ungraceful cases, the persistence is missing for nw
connect

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 401632c7568408ee9689adc1da855cfb1409e906)
2015-10-30 21:18:08 -04:00
Donald Huang 0430024bad fix pre-1.21 docker stats
This fixes a bug introduced in #15786:

* if a pre-v1.20 client requested docker stats, the daemon
would return both an API-compatible JSON blob *and* an API-incompatible JSON
blob: see https://gist.github.com/donhcd/338a5b3681cd6a071629

Signed-off-by: Donald Huang <don.hcd@gmail.com>
(cherry picked from commit d2c04f844b8258d712da4b8feac25df7590b037c)

The commit title wrongfully mentioned API v1.22, when it meant to mention v1.21.
2015-10-30 21:18:08 -04:00
Alessandro Boch 6fa9da0363 Modify IPAMConfig structure json tags
- So that it complies with docker convention for inspect

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit d795bc7d53db4b9e9194d0570d65e22d39f58384)
2015-10-30 21:18:08 -04:00
David Calavera 2ec7433aa4 Fix network inspect for default networks.
- Keep old fields in NetworkSetting to respect the deprecation policy.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit f301c5765a0d7f4b6866cedfdface6f87874ff53)
2015-10-30 21:18:07 -04:00
Michael Crosby c4f0a2aa00 Don't set mem soft limit if not specifiecd
You cannot do this for individual cgroups for all the containers.  Only
set the reservation if the user requested it.  The error you will
receive is an EINTVAL when you try to set a large limit like we were in
the memory limit.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit ecb87ed0a5128a3d9ab3b0a620463b7b56e82bab)
2015-10-30 21:18:07 -04:00
Madhu Venugopal cff248b35f Fixes a case of dangling endpoint during ungraceful daemon restart
When a container restarts after a ungraceful daemon restart, first
cleanup any unclean sandbox before trying to allocate network resources.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 0c07096b7da6dc28df10df21283fc21b3b052e1a)
2015-10-30 21:18:07 -04:00
Alessandro Boch b693a04658 Execute buildPortMapInfo after Endpoint.Join()
- As the retrieved info may not be available at
  Endpoint creation time for certain network drivers
- Also retrieve the MAC address from Endpoint.Info().Iface()

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit e03daebb48221bae84bfc48b0f9b652ced6d93f3)
2015-10-30 21:18:06 -04:00
Derek McGowan 22c2f04847 Fix rmi -f removing multiple tags
When an image has multiple tags and rmi is called with force on a tag, only the single tag should be removed.
The current behavior is broken and removes all tags and the image.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit 48e7f7963e142a0a45b583c5e65015d896c59433)
2015-10-30 21:18:06 -04:00
Lei Jitang 9335cf9d29 Fix docker inspect display odd gateway value for none network mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 7fa601adc7858606630dec5b037e60b8955e716d)
2015-10-30 20:27:44 -04:00
David Calavera ce6e6b18ad Extract network settings types for inspect.
Keeping backwards compatibility.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Tibor Vass <tibor@docker.com>

Conflicts:
	integration-cli/docker_cli_links_test.go
2015-10-27 19:57:03 -04:00
Lei Jitang a09d521221 Fix docker inspect container only reports last assigned information
Signed-off-by: Lei Jitang <leijitang@huawei.com>

Conflicts:
	integration-cli/docker_api_network_test.go
	integration-cli/docker_utils.go
2015-10-27 19:57:03 -04:00
Madhu Venugopal 37e04b864e Enhancing --cluster-advertise to support <interface-name>
--cluster-advertise daemon option is enahanced to support <interface-name>
in addition to <ip-address> in order to amke it  automation friendly using
docker-machine.

Signed-off-by: Madhu Venugopal <madhu@docker.com>

Conflicts:
	integration-cli/docker_cli_info_test.go
2015-10-27 19:57:03 -04:00
Alessandro Boch 160f4e4a3b Do not update etc/hosts for every container
- Only user named containers will be published into
  other containers' etc/hosts file.
- Also block linking to containers which are not
  connected to the default network

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-27 19:57:02 -04:00
Santhosh Manohar a76b5fd324 Add libnetwork call on daemon rename
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-10-27 19:57:02 -04:00
Tonis Tiigi 963b4d0b22 Fix duplicate container names conflict
While creating multiple containers the second
container could remove the first one from graph
and not produce an error.

Fixes #15995

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-10-27 19:57:02 -04:00
Madhu Venugopal c2c88fec85 Simple log to indicate the chosen IP Address for the default bridge
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-27 19:57:02 -04:00
Alessandro Boch 3040ad3581 Disable built-in SD on docker0 network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-27 19:57:01 -04:00
Alessandro Boch 50a8ce2b28 Turn off service discovery when icc==false
- Turn off built-in service discovery on docker0 bridge
  when icc is false

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 16:16:53 -04:00
David Calavera c75fd9b5da Do not fail when a container is being removed and we request its delete again.
Abort the process and return a success response, letting the original
request finish its job.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 16:14:13 -04:00
Antonio Murdaca adfbdc361c daemon: faster image cache miss detection
Lookup the graph parent reference to detect a builder cache miss before
looping the whole graph image index to build a parent-children tree.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Antonio Murdaca 587a0ffa2d graph: add parent img refcount for faster rmi
also fix a typo in pkg/truncindex package comment

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Daniel Hiltgen 98af0d7f3c Wire up libnetwork with TLS discovery options
This change exposes the TLS configuration settings to libnetwork so it can
communicate with a key/value store that has been set up with mutual TLS.

TLS options were introduced with https://github.com/docker/docker/pull/16644
Libnetwork support was introduced with https://github.com/docker/libnetwork/pull/602

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-22 16:14:12 -04:00
David Calavera fd2633a451 Move volume name validation to the local driver.
Delegate validation tasks to the volume drivers. It's up to them
to decide whether a name is valid or not.
Restrict volume names for the local driver to prevent creating
mount points outside docker's volumes directory.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 16:14:11 -04:00
xlgao-zju b576f54b73 validate the name of named volume
Signed-off-by: xlgao-zju <xlgao@zju.edu.cn>
2015-10-22 15:07:07 -04:00
Burke Libbey d2e25ed81c Better error when --host=ipc but no /dev/mqueue
Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Burke Libbey 44c74f2109 Revert "Fix --ipc=host dependency on /dev/mqueue existing"
This reverts commit f624d6187a8daa3ca0999c46cb345f8db6f330e7.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Burke Libbey 434221d0eb Fix --ipc=host dependency on /dev/mqueue existing
Since #15862, containers fail to start when started with --ipc=host if
/dev/mqueue is not present. This change causes docker to create
container-local mounts for --ipc=host containers as well as in the
default case.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Alessandro Boch d6a407f9b2 Do not mask ipam driver if no ip config is passed
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 15:07:06 -04:00
Antonio Murdaca 392fe9e507 Return empty Config fields, now omitempty, for API < 1.21
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 15:07:05 -04:00