1
0
mirror of https://github.com/docker/cli.git synced 2026-01-18 08:21:31 +03:00
Commit Graph

175 Commits

Author SHA1 Message Date
Arnaud Porterie
b3678f8418 Merge pull request #11076 from hqhq/hq_use_warning_in_sysinfo
use type WARN for warning
Upstream-commit: 82f390e139e611b97911c19dd1be2a98264cf4b9
Component: engine
2015-03-15 21:13:23 -07:00
Qiang Huang
71f67ca560 move resources from Config to HostConfig
Cgroup resources are host dependent, they should be in hostConfig.

For backward compatibility, we just copy it to hostConfig, and leave it in
Config for now, so there is no regressions, but the right way to use this
throught json is to put it in HostConfig, like:
  {
      "Hostname": "",
      ...
      "HostConfig": {
	  "CpuShares": 512,
          "Memory": 314572800,
          ...
      }
  }

As we will add CpusetMems, CpusetCpus is definitely a better name, but some
users are already using Cpuset in their http APIs, we also make it compatible.

The main idea is keep using Cpuset in Config Struct, and make it has the same
value as CpusetCpus, but not always, some scenarios:
 - Users use --cpuset in docker command, it can setup cpuset.cpus and can
   get Cpuset field from docker inspect or other http API which will get
   config info.
 - Users use --cpuset-cpus in docker command, ditto.
 - Users use Cpuset field in their http APIs, ditto.
 - Users use CpusetCpus field in their http APIs, they won't get Cpuset field
   in Config info, because by then, they should already know what happens
   to Cpuset.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 837eec064d2d40a4d86acbc6f47fada8263e0d4c
Component: engine
2015-03-11 09:31:18 +08:00
Qiang Huang
ad6ee8ec46 fix warning messages
Use log.Warnf instead of log.Infof, and remove redundant `WARNING` prefix.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: bffe04b582d143f074297b260a359dfb54a7763b
Component: engine
2015-03-11 08:47:45 +08:00
Alexander Morozov
3b04936e06 Execdriver implementation on new libcontainer API
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 68ba5f0b69c9f383269fb5bc2c78798b312e98cc
Component: engine
2015-03-06 14:46:58 -08:00
Michael Crosby
04c84acfda Merge pull request #11064 from delftswa2014/10970-treesize
Move directory size calculation to pkg/ (fixes #10970)
Upstream-commit: 92e632c84e7b1abc1a2c5cb3a22e0725951a82af
Component: engine
2015-03-05 13:06:02 -08:00
Martijn Dwars
459803f719 Move directory size calculation to pkg/ (fixes #10970)
Signed-off-by: Martijn Dwars <ikben@martijndwars.nl>
Upstream-commit: e2b8933d213b283578babc1d86538950295e4fc7
Component: engine
2015-03-04 21:16:31 +01:00
Jessie Frazelle
36f1975bfd Merge pull request #9437 from cpuguy83/set_rlimits_in_container
Allow setting ulimits for containers
Upstream-commit: df7ba57f5f962b1a2d2e267a89ae465541a92371
Component: engine
2015-03-04 04:00:17 -08:00
Lei Jitang
1f225ba7bc Fix a minor typo in daemon/container.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 40dc18e2fa3724c5c4361f42a413c754ee03a492
Component: engine
2015-02-28 18:43:28 +08:00
Brian Goff
2e0ec2c817 Allow setting ulimits for containers
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 3f39050637d454e9ee8075153a917c8bfccb5bae
Component: engine
2015-02-25 19:37:43 -05:00
Srini Brahmaroutu
bdb65abebf Removing dependencies from pkg into Docker internal code
Closes #10922

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: 7a9c944b827dc0cd416d701fe6460264f05166bb
Component: engine
2015-02-23 18:43:10 +00:00
Steve Francia
0385663f68 Merge pull request #10818 from estesp/link-add-aliases
Upstream-commit: 356fe89d2431bd54f38b3477aa91ef276f65ffb7
Component: engine
2015-02-19 17:22:53 -05:00
Phil Estes
c4aef2a226 Add linked container's name and hostname as aliases to /etc/hosts
Currently when containers are linked the alias name (e.g. from `--link
name:alias`) is added to the parent container's `/etc/hosts` with a
reference to the IP of the linked container.  Some software requires
using the official hostname or node name in operations that need to
match on those values, and it is therefore helpful if the parent
container can refer to the child/link using those same values and still
access the same IP.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 16aa64dc82b6434ec78878fa35eb96e4983b46f8
Component: engine
2015-02-19 14:19:38 -08:00
Bradley Cicenas
cc3ec80739 add logpath to docker inspect.
Signed-off-by: Bradley Cicenas <bradley.cicenas@gmail.com>
Upstream-commit: 06c01b02f5d8149407028324e751df5c0a92fd14
Component: engine
2015-02-18 10:19:52 -05:00
Jessie Frazelle
87475d58c1 Merge pull request #10556 from estesp/ipv6-extra-hosts
Allow IPv6 addresses in ExtraHosts option settings
Upstream-commit: 76bf543fea18138a17a2a373aaed88bef68f69f7
Component: engine
2015-02-06 14:53:54 -08:00
Michael Crosby
dfd79f3c67 Merge pull request #9705 from acbodine/9311-truncindex-error-duplicate-id-on-ambiguous-id
Closes #9311 Handles container id/name collisions against daemon functionalities according to #8069
Upstream-commit: 34c804a139cc086e9fa6d3f99442f083b6d5e1e7
Component: engine
2015-02-06 14:01:28 -08:00
Phil Estes
c5cc380178 Allow IPv6 addresses in ExtraHosts option settings
Since the separator for extra host settings (for /etc/hosts in a
container) is a ":", the code that handles extra hosts needed to only
split on the first ":" to preserve IPv6 addresses which are passed via
the command line settings as well as stored in the JSON container
config.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: fdfa2057863e4fd32d477855f8c8f289c0898293
Component: engine
2015-02-04 10:20:28 -05:00
Liu Hua
fa63a036de fix a minor typo in daemon/container.go
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
Upstream-commit: 71f8b09543d782727ada8f63ba7d6fa177ec54db
Component: engine
2015-01-28 09:54:40 +08:00
Michal Minar
28feccbe1b Stop and Kill commands made robust
If stop/kill command hits a short window between process' exit and
container's cleanup, it will no longer fail with 'no such process'
error.

Resolves #10182

Signed-off-by: Michal Minar <miminar@redhat.com>
Upstream-commit: 310337dc89a78cbe245977236f02dcda73728df8
Component: engine
2015-01-23 10:26:13 +01:00
Andrew C. Bodine
685b876322 Closes #9311 Handles container id/name collisions against daemon functionalities according to #8069
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
Upstream-commit: d25a65375c880017ac0c516389b0b7afde810517
Component: engine
2015-01-21 17:11:31 -08:00
Jessie Frazelle
05dc63ed6e Merge pull request #10254 from LK4D4/fix_etchosts_rewriting
Fix etchosts rewriting
Upstream-commit: f1bc0376b822128888a825c5607cee1d861e1c0b
Component: engine
2015-01-21 15:08:45 -08:00
Alexander Morozov
d1daac3149 Update links aliases, not name on restart
Fixes #8721

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: c2a25058e8c85b4d6295c6a1375c0b70b0959260
Component: engine
2015-01-21 14:34:27 -08:00
Michael Crosby
2dcbad59cf Evict stopped containers
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 4f174aa79276c12a1b2b98df2f02d6bee36b7a93
Component: engine
2015-01-20 20:21:46 -08:00
Michael Crosby
947efff180 Implement container stats collection in daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 65f58e2a742205c9e8470b360bd439642a5c8211
Component: engine
2015-01-20 20:21:46 -08:00
Alexander Morozov
dbf7d610b8 Merge pull request #10005 from estesp/fix-localhost-nameserver-cleanup
Clean up localhost resolv logic and add IPv6 support to regexp
Upstream-commit: e9d3e237e5cffef0dfcd4949c31959cd25863f3f
Component: engine
2015-01-20 10:30:06 -08:00
Phil Estes
5e93ebec1e Clean up localhost resolv logic and add IPv6 support to regexp
Addresses #5811

This cleans up an error in the logic which removes localhost resolvers
from the host resolv.conf at container creation start time. Specifically
when the determination is made if any nameservers are left after
removing localhost resolvers, it was using a string match on the word
"nameserver", which could have been anywhere (including commented out)
leading to incorrect situations where no nameservers were left but the
default ones were not added.

This also adds some complexity to the regular expressions for finding
nameservers in general, as well as matching on localhost resolvers due
to the recent addition of IPv6 support.  Because of IPv6 support now
available in the Docker daemon, the resolvconf code is now aware of
IPv6 enable/disable state and uses that for both filter/cleaning of
nameservers as well as adding default Google DNS (IPv4 only vs. IPv4
and IPv6 if IPv6 enabled).  For all these changes, tests have been
added/strengthened to test these additional capabilities.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 93d51e5e971e001d80e9ffa863439f2d72215b5a
Component: engine
2015-01-19 19:35:55 -05:00
Brian Goff
7319c01771 Fix volumes-from re-applying on each start
Fixes #9709
In cases where the volumes-from container is removed and the consuming
container is restarted, docker was trying to re-apply volumes from that
now missing container, which is uneccessary since the volumes are
already applied.

Also cleaned up the volumes-from parsing function, which was doing way more than
it should have been.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: a738df0354cc615c8d0fa3254621b3db811fe0b9
Component: engine
2015-01-17 07:14:25 -05:00
Michael Crosby
2ef8faf6e3 Add --readonly for read only container rootfs
Add a --readonly flag to allow the container's root filesystem to be
mounted as readonly.  This can be used in combination with volumes to
force a container's process to only write to locations that will be
persisted.  This is useful in many cases where the admin controls where
they would like developers to write files and error on any other
locations.

Closes #7923
Closes #8752

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 409407091a7282d0c4086b71e86397e2d089ba13
Component: engine
2015-01-14 15:41:31 -08:00
Dan Walsh
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
Phil Estes
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
Andrew Clay Shafer
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
Malte Janduda
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
Alexander Morozov
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
Phil Estes
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
Michael Crosby
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
Doug Davis
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
Brian Goff
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
Josh Hawn
98bb6eba72 Make FROM scratch a special cased 'no-base' spec
There has been a lot of discussion (issues 4242 and 5262) about making
`FROM scratch` either a special case or making `FROM` optional, implying
starting from an empty file system.

This patch makes the build command `FROM scratch` special cased from now on
and if used does not pull/set the the initial layer of the build to the ancient
image ID (511136ea..) but instead marks the build as having no base image. The
next command in the dockerfile will create an image with a parent image ID of "".
This means every image ever can now use one fewer layer!

This also makes the image name `scratch` a reserved name by the TagStore. You
will not be able to tag an image with this name from now on. If any users
currently have an image tagged as `scratch`, they will still be able to use that
image, but will not be able to tag a new image with that name.

Goodbye '511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158',
it was nice knowing you.

Fixes #4242

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Upstream-commit: 8936789919c5c8004f346f44a3452d1521818b60
Component: engine
2014-12-18 14:03:38 -08:00
Alexandr Morozov
d44cc14dce Don't try release network in non-private modes
Fixes #9594

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: b3ade99a7822f4edb21400a1003ff0e3893caa38
Component: engine
2014-12-10 11:59:32 -08:00
Srini Brahmaroutu
6ca414da06 User should get error message on wrong config
closes #9501

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: 8dcbd6ab636e756736cef5408710ff97fd207370
Component: engine
2014-12-09 21:52:07 +00:00
Doug Davis
c28ef478d3 Add support for docker exec to return cmd exitStatus
Note - only support the non-detached mode of exec right now.
Another PR will add -d support.

Closes #8703

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 90928eb1140fc0394e2a79d5e9a91dbc0f02484c
Component: engine
2014-11-25 17:49:25 -08:00
Dan Walsh
09b8238fe6 Allow IPC namespace to be shared between containers or with the host
Some workloads rely on IPC for communications with other processes.  We
would like to split workloads between two container but still allow them
to communicate though shared IPC.

This patch mimics the --net code to allow --ipc=host to not split off
the IPC Namespace.  ipc=container:CONTAINERID to share ipc between containers

If you share IPC between containers, then you need to make sure SELinux labels
match.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 497fc8876ede9924f61c0eee4dfadd71e5d9f537
Component: engine
2014-11-12 11:29:58 -05:00
Michael Crosby
8ee09ed8c7 Merge pull request #9014 from LK4D4/fix_parent_failing
Not fail on updating parent links
Upstream-commit: 84f25414c18f726bccac10710f5971f5c5d822cd
Component: engine
2014-11-10 12:53:16 -08:00
Alexandr Morozov
8f685d0d4a Not fail on updating parent links
Fixes #8796

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: b83fc07d88175c32bb46368a07a9c9e277b22392
Component: engine
2014-11-06 15:30:23 -08:00
Michael Crosby
a17f18fb0b Merge pull request #8983 from LK4D4/consistent_hosts
Consistent hosts
Upstream-commit: 6a6be5bd5afcd4192dfc5d7bc5163b318afb15cc
Component: engine
2014-11-06 11:51:28 -08:00
Alexandr Morozov
8e42183a10 Make /etc/hosts records consistent
Fixes #8972

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 6cbe1fa726fb88a1743c3a3da5e699c9bb3ae55a
Component: engine
2014-11-06 11:36:00 -08:00
Doug Davis
811492e0cb See #8379 - if the container doesn't start I added code to make sure that if no other processing sets the container.exitCode to a non-zero value when we make sure its done before we return. I also made sure that while trying to start the CMD/ENTRYPOINT, if it fails, then we set the container.exitCode to the exitStatus from the exec().
Closes #8379

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 69a5b827dcf01a6de5949a161606058017014cdc
Component: engine
2014-11-05 18:23:42 -08:00
Alexandr Morozov
866705ded6 Merge pull request #8946 from unclejack/stream_decode
Decode JSON to avoid ReadFile
Upstream-commit: b8678aa7f5f2b266644825a460a0126fe6439b76
Component: engine
2014-11-04 09:02:40 -08:00
Alexandr Morozov
1ce2377d8b Merge pull request #8390 from MalteJ/set-macaddress
Adding docker-cli run param to set MAC address
Upstream-commit: 9eb8fcd58a5dc0a6fd812fc2bdc410f36dd63cc0
Component: engine
2014-11-04 07:54:59 -08:00
unclejack
af218ee675 daemon/container: stream & decode JSON
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 4bc28f4e6bb38ec70fb98a4deea723a2d0812d98
Component: engine
2014-11-04 16:14:47 +02:00
Malte Janduda
c0897a4514 Adding docker-cli run param to set MAC address
Signed-off-by: Malte Janduda <mail@janduda.net>
Upstream-commit: f2df38050e019c0db265e7c3e38ee0de8948ca77
Component: engine
2014-11-01 15:35:09 +01:00