Commit Graph

238 Commits

Author SHA1 Message Date
b1b57c9cd4 daemon: Logging drivers refactoring
- noplog driver pkg for '--log-driver=none' (null object pattern)
- centralized factory for log drivers (instead of case/switch)
- logging drivers registers themselves to factory upon import
  (easy plug/unplug of drivers in daemon/logdrivers.go)
- daemon now doesn't start with an invalid log driver
- Name() method of loggers is actually now their cli names (made it useful)
- generalized Read() logic, made it unsupported except json-file (preserves
  existing behavior)

Spotted some duplication code around processing of legacy json-file
format, didn't touch that and refactored in both places.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
Upstream-commit: 3a8728b431df07249ad913ea9a12e27dc39b8956
Component: engine
2015-05-12 19:11:52 +00:00
baa93a3d54 Merge pull request #13000 from runcom/refactor-server-to-use-daemon-service-followup
Refactor server to use the daemon as a service
Upstream-commit: 3b13e56fd7c6542ae535d83c12939c46bd40e2ad
Component: engine
2015-05-12 10:27:43 -07:00
12071c528f Move container.WaitStop, AttachWithLogs and WsAttachWithLogs to daemon service in api server
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: e2acca67c8e089429c8a5d5171887e5de42e3917
Component: engine
2015-05-11 19:56:41 +02:00
ceedb9d4b8 Merge pull request #13101 from bharaththiruveedula/13092-remove-unwanted-locks
Removing extra locks for Pause and Unpause functions
Upstream-commit: 5e063326a345349b406791a6822f6423e17c353d
Component: engine
2015-05-11 10:54:39 -07:00
fc89bcb4ca Removing extra locks for Pause and Unpause functions
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
Upstream-commit: 8c1ef5ceafcba2476693db7f5db39300ad2e7f88
Component: engine
2015-05-10 00:16:54 +05:30
a40ebffc52 Merge pull request #12988 from Mashimiao/remove-unused-container-functions
cleanup: remove unneeded locks
Upstream-commit: 340fd140e67901c8b5ad9d59c6fb693f6bbcffde
Component: engine
2015-05-09 09:42:27 -07:00
87d85e4c09 cleanup remove unneeded locks
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: bcc24ec8ad26ebb3564eb462fd80654964ff4651
Component: engine
2015-05-09 10:06:53 +08:00
560ba9b809 add cpu.cfs_period_us support
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: dccb8b5c339e218222bae4ce74bbeccb9e020c82
Component: engine
2015-05-09 10:02:46 +08:00
92cec4b2c1 Merge pull request #11516 from coolljt0725/add_show_error_set_some_flag_in_container_netmode
add support --net=container with --mac-address, --add-host error out
Upstream-commit: 6b6a26c7697978bf7d43fec11d14ef6ee7e3e4d6
Component: engine
2015-05-07 17:13:32 -07:00
5c2686119c Merge pull request #11802 from hqhq/hq_add_blkio_weight
add blkio.weight support
Upstream-commit: de32f5c431bbdb56d6a446af0e5660fae9539bd8
Component: engine
2015-05-07 17:10:39 -07:00
9fb1f7589d Merge pull request #12175 from dqminh/fix-allocate-port
#12148: sort ports mapping before allocating
Upstream-commit: e03ac8d5b98f525c3d32bb5a6ac84b2c5717a0dc
Component: engine
2015-05-07 17:04:20 -07:00
2ee6387cbc Merge pull request #12165 from icecrime/optional_userland_proxy
Optional userland proxy
Upstream-commit: 74bfa3675353aaf10ca760e82a79d758bea0ff6b
Component: engine
2015-05-07 14:01:16 -07:00
4f3515319b add blkio.weight support
We can use this to control block IO weight of a container.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: f133f11a7d25e6262558dd733afaa95ddd1c7aee
Component: engine
2015-05-07 11:55:58 +08:00
49e7e90010 Add support --net=container with --mac-address,--add-host error out
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 0e08e9aca14a4ca7142fa4649983302d93b55dab
Component: engine
2015-05-05 19:28:40 +08:00
d7e8665b03 Add --userland-proxy daemon flag
The `--userland-proxy` daemon flag makes it possible to rely on hairpin
NAT and additional iptables routes instead of userland proxy for port
publishing and inter-container communication.

Usage of the userland proxy remains the default as hairpin NAT is
unsupported by older kernels.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: f42348e18f73d1d775d77ac75bc96466aae56d7c
Component: engine
2015-05-04 16:07:45 -07:00
366be0f240 Merge pull request #12865 from larsks/bug/12864
journald log driver: use CONTAINER_ID field for container id
Upstream-commit: 0c1c2726876bdffad4e600456f07e256bc1361a1
Component: engine
2015-05-04 10:53:58 -07:00
5221178681 Merge pull request #12958 from Mashimiao/cleanup-container-functions
Cleanup: move container's functions to its own file
Upstream-commit: 4f5272320cef76dd33a3895f228e2080d9d3a13b
Component: engine
2015-05-04 09:36:55 -07:00
5306450032 cleanup: move container's functions to its file
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: 1be7a10b89506afdcb80f109f323b6e47d2e466c
Component: engine
2015-05-04 21:37:44 +08:00
ad3d66108b Feature: option for disable OOM killer
Add cgroup support for disable OOM killer.

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: a4a924e1b6c50f0f02460489259d73468a6c282e
Component: engine
2015-05-04 21:11:29 +08:00
72fc3b7751 journald log driver: use CONTAINER_ID field for container id
This patch modifies the journald log driver to store the container ID in
a field named CONTAINER_ID, rather than (ab)using the MESSAGE_ID field.
Additionally, this adds the CONTAINER_ID_FULL field containing the
complete container ID and CONTAINER_NAME, containing the container name.

When using the journald log driver, this permits you to see log messages
from a particular container like this:

    # journalctl CONTAINER_ID=a9238443e193

Example output from "journalctl -o verbose" includes the following:

    CONTAINER_ID=27aae7361e67
    CONTAINER_ID_FULL=27aae7361e67e2b4d3864280acd2b80e78daf8ec73786d8b68f3afeeaabbd4c4
    CONTAINER_NAME=web

Closes: #12864
Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
Upstream-commit: 869ecba652294e069874c83591d6f1b469d7cc32
Component: engine
2015-04-30 10:42:27 -04:00
17d88307f9 sort ports mapping before allocating
prioritize the ports with static mapping before dynamic mapping. This removes
the port conflicts when we allocate static port in the reserved range
together with dynamic ones.
When static port is allocated first, Docker will skip those when determining
free ports for dynamic ones.

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
Upstream-commit: cd2b019214eb1978ae267786668dc7a8a3702679
Component: engine
2015-04-30 02:18:04 +00:00
016ac4bf61 Remove engine mechanism
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 531f4122bdcd4de289f613a5ef010f4c1989f098
Component: engine
2015-04-30 01:35:16 +02:00
12da32d151 Merge pull request #11190 from cyphar/expose-path-sanitisation-wrappers
Expose the getResourcePath and getRootResourcePath wrappers.
Upstream-commit: d2f0b9ed976987576483387bc919cb7ffbfa38e8
Component: engine
2015-04-28 18:45:36 -04:00
954f940156 Small if err cleaning
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 844538142d95c1b7dda1bb2903179510105fe9b5
Component: engine
2015-04-27 21:50:33 +02:00
270e43ec62 Prevent deadlock on attempt to use own net
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
Upstream-commit: f30d1c1835618eadea5d0a68d1301dffd9f09b22
Component: engine
2015-04-27 14:57:37 +01:00
0e89e62feb *: expose getResourcePath and getRootResourcePath wrappers
Due to the importance of path safety, the internal sanitisation wrappers
for volumes and containers should be exposed so other parts of Docker
can benefit from proper path sanitisation.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
Upstream-commit: 4377ebd6a758278c1766006c7eb8b777fa175719
Component: engine
2015-04-24 23:53:47 +10:00
03223ccad9 Merge pull request #12557 from rhatdan/journald
Add journald as a supported logger for containers
Upstream-commit: 3dc07162bdb457c86c0d5025d1d633131fadcfd1
Component: engine
2015-04-22 17:20:10 -07:00
2cd5fc4ea7 Merge pull request #10992 from cpuguy83/add_volume_mounting_for_cp
Make `docker cp` bind-mount volumes
Upstream-commit: 1d48cccc996885fe02b4824d9421735566a52088
Component: engine
2015-04-22 15:59:28 -07:00
bfa8bbb7bb Merge branch 'master' of github.com:docker/docker into journald
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: b88b2fa72ea4ad579478080ce6f027e55cfd5c29
Component: engine
2015-04-22 17:37:26 -04:00
7c675b1db2 Remove not needed call to container.readHostConfig()
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: a3c4801c9291c0db78c5cc0748d5d2dd5e44a98f
Component: engine
2015-04-21 22:00:33 +02:00
b04ccc089c Add journald as a supported logger for containers
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 364287b74118de4f04d049426ef37fa9936d2065
Component: engine
2015-04-21 12:57:54 -04:00
f8f4bcdb38 Add support cpu cfs quota
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: dcc50e1d593fd7995189872791c6d7a013f16970
Component: engine
2015-04-20 08:16:47 -07:00
ab74fc7837 Merge pull request #12387 from x1022as/inspect-logpath
Inspect show right LogPath in json-file driver
Upstream-commit: f0c60f7085ea124c2d3660fae17c1d2ab7e4abb0
Component: engine
2015-04-15 14:28:39 -04:00
e04ea19d11 Inspect show right LogPath in json-file driver
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Upstream-commit: acf025ad1b806fd9b5eb3358a8e1d75c6aae890d
Component: engine
2015-04-15 11:51:24 +08:00
4f6ebaa34e add support for cpuset.mems
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 8077b2fb805c78cee642d8350df88227c6414960
Component: engine
2015-04-15 09:33:46 +08:00
c444005c81 Merge pull request #12292 from cpuguy83/remove_commands_integration
Remove commands integration
Upstream-commit: 2f0f04e8fa32a7f8d02b4a9078537f52887d8ab7
Component: engine
2015-04-14 16:17:25 -04:00
d6179eea91 Make docker cp bind-mount volumes
Allows `docker cp` to work seamlessly, and a lot more cleanly.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 8ce42baaef314a75bb6726891774393d540e9d06
Component: engine
2015-04-14 15:42:56 -04:00
1adac1131b remove integration/utils setRaw funcs
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 63331abbcadee3528f3e03f96cff1ca6a506cc9e
Component: engine
2015-04-14 15:17:17 -04:00
a4111cba55 Refactor utils/utils, fixes #11923
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: c30a55f14dbbe3971ba0ac716ba69a60868f4490
Component: engine
2015-04-14 01:37:36 +02:00
7e81577a52 Log memory swap capabilities properly.
Check whether the swap limit capabilities are disabled or not only when memory swap is set to greater than 0.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 7523beff41eca212794e902afa1a614b2672e245
Component: engine
2015-04-13 11:56:59 -07:00
dadf36eca6 Merge pull request #12293 from hqhq/hq_use_hostconfig
use hostConfig in verifyDaemonSettings
Upstream-commit: a8e095b243355454d7f8269ad267f2d581fd52ac
Component: engine
2015-04-13 14:34:35 -04:00
b706b2d562 Remove engine from links
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 7560018541192ebdfe16e39515f9a04b44635d84
Component: engine
2015-04-12 16:25:10 +02:00
06600b0ef1 use hostConfig in verifyDaemonSettings
We have moved resource configs to hostConfig.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 39932511c134938233e8bfe4796cec9a1b30d11e
Component: engine
2015-04-11 16:37:28 +08:00
bdab727fe0 Merge pull request #12092 from tiborvass/no-jobs-networkdriver-bridge
Remove jobs from daemon/networkdriver/bridge
Upstream-commit: 67676529b373c39c239ff7c8f4a374ae97659523
Component: engine
2015-04-09 14:10:21 -07:00
ac0bbebed0 Show the right image name/ID in job log
When we tag an Image with several names and we run one of them,
The "create" job will log this event with
 +job log(create, containerID, Imagename).

And the "Imagename" is always the first one (sorted). It is the
same to "start/stop/rm" jobs. So use the correct name instand.
This PR refer to #10479

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
Upstream-commit: 663d9130118548c648c4463bae088fd983099e08
Component: engine
2015-04-09 09:41:23 +08:00
0c091d906f Remove jobs from daemon/networkdriver/bridge
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 53582321ee502335a9c3be4789bef984e09f77c4
Component: engine
2015-04-08 18:50:29 -04:00
0d3afdf0c8 Remove engine usage for events
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: c9eb37f9752d72d9a4280d703368e5e73adfffa1
Component: engine
2015-04-07 08:43:18 -07:00
c8180f954e Mounting a directory of devices like /dev/snd should mount all child devices.
I have seen a lot of people try to do this and reach out to me on how to mount
/dev/snd because it is returning "not a device node". The docs imply you can
_just_ mount /dev/snd and that is not the case. This fixes that. It also allows
for coolness if you want to mount say /dev/usb.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: 664004ed0c6c99369720a00f5673f1e106d9496d
Component: engine
2015-04-01 15:57:41 -07:00
d03e2c1251 container: Do not remove contianer if any of the resource failed cleanup
Do not remove container if any of the resource could not be cleaned up. We
don't want to leak resources.

Two new states have been created. RemovalInProgress and Dead. Once container
is Dead, it can not be started/restarted. Dead container signifies the
container where we tried to remove it but removal failed. User now needs to
figure out what went wrong, corrent the situation and try cleanup again.

RemovalInProgress signifies that container is already being removed. Only
one removal can be in progress.

Also, do not allow start of a container if it is already dead or removal is
in progress.

Also extend existing force option (-f) to docker rm to not return an error
and remove container from user view even if resource cleanup failed.
This will allow a user to get back to old behavior where resources
might leak but atleast user will be able to make progress.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 40945fc186067e5b7edd1f6cd7645ff2ae7cea6c
Component: engine
2015-03-31 09:51:19 -04:00
82aa49d3e7 Docker cp handles resolv.conf, hostname & hosts, fixes #9998
Add a integration test TestCpSpecialFiles

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 8bc330d8632ef0129b433b877a5e2fc88bb2eb39
Component: engine
2015-03-29 22:10:14 +02:00