Commit Graph

10106 Commits

Author SHA1 Message Date
abbb3a3dd3 cleaner handling of client socket access
In the go stdlib net/http Transport, the used connections are cached
when idled. This behaviour is intended for TCP connections and does not
behave correctly for unix sockets. Despite the
DefaultMaxIdleConnsPerHost being 2, the idled connections are held open
during a session. For large sessions like `docker rm $(docker ps -a -q)`
of thousands of containers, it will cause the client _and_ the server to
open too many fails and have failures.

Having keep alives not used for only unix sockets is a work around for
this stdlib issue.

Also this includes disabling compression when communicating over the
local unix socket too.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: fb7ceeb170447cdbef3e74a92358eb9b084c0bf7
Component: engine
2014-10-10 19:58:49 -04:00
94e55f882a Merge pull request #8419 from nhsiehgit/dockerfiletut
Dockerfiletut
Upstream-commit: 2f5f437bc12164e7fa8ff935b5b29120d4f20adf
Component: engine
2014-10-09 10:15:10 -07:00
7b962aa326 Merge pull request #8461 from SvenDowideit/copy-specific-files-from-context
Add a best practice to reduce cache invalidations
Upstream-commit: 950f271ee4acd44fd6825fde9caabc694b1b13a8
Component: engine
2014-10-09 10:03:50 -07:00
e30e6f7d0c Merge pull request #8457 from jfrazelle/pr_8455
Check /etc/resolv.conf every time for 127.* content
Upstream-commit: 4eb812e042e10e8158161ba7d6236a9ca8044ebe
Component: engine
2014-10-08 16:21:14 -07:00
d83fbbbf57 cleanup resolve.conf code
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: dbe6c6651e744bd6f6cab04fcaed2871779d36a0
Component: engine
2014-10-08 15:15:51 -07:00
939ae48706 Merge pull request #8450 from dqminh/fix-proxy-exit
dont close proxy's stdout/stderr prematurely
Upstream-commit: 0486bd022e7c51b23cc9b4d62b5faaf42ee9a101
Component: engine
2014-10-08 14:20:33 -07:00
87b92d77be Merge pull request #8475 from cpuguy83/fix_create_phantom_volumes_on_container_restart
Fixes re-creating volume on (re)start
Upstream-commit: d7bcc099bec2b0ee4ff5c6411ae33f9e23bd94d1
Component: engine
2014-10-08 13:58:56 -07:00
c763054d93 added fixes to address comments
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
Upstream-commit: 6a874cf711a7df5e60f1290e02fe4ca25851b985
Component: engine
2014-10-08 13:46:44 -07:00
d2ff407b2f Squashed commit of the following:
commit 3f9e9185fe7ee51f2fe55f0fc0d4fffdc4f289dc
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 10:57:35 2014 -0700

    changed the title of back buttons

commit f86934424e85931ec293e711ceaa93ee920828fb
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 10:53:15 2014 -0700

    Finished level 2, refactored tests

commit 8f502bce05293cccaf200b69ce5f5826eee72484
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Mon Oct 6 08:52:37 2014 -0700

    stylized better and added level 2

commit 07b2276b346c34c0cc0faa57500c40e120e77888
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 18:17:29 2014 -0700

    broke tutorial tests styles

commit 35d84147dc2f65b0ffeea5faf304add903219b1e
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 17:23:48 2014 -0700

    structured test level1 md file

commit 808d01b0d55d67eb1017f290a29da6c7d38565f2
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Fri Oct 3 17:15:46 2014 -0700

    Modified files and integrated tutorial through new page

commit 0f0093f2882489c3eeb6f8870f2b8aa64dc939a3
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 14:34:44 2014 -0700

    more refactoring

commit 5a9b98e55ebd455ccf2c0ced20f984545a0b6d71
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:46:58 2014 -0700

    clean js code

commit af3bbd8d5e1dffdaa1780f83b909ff566906e513
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:26:39 2014 -0700

    level 1 cleanup

commit c4852a7766ab4fbd978d65c8352ace05eb427ef5
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Thu Oct 2 11:20:17 2014 -0700

    fixed up fill-in level1

commit 7f02d80942549dec9c05f784b777fcb32d5bb81b
Author: Nathan Hsieh <hsieh.nathan@gmail.com>
Date:   Wed Oct 1 17:45:42 2014 -0700

    added dockerfile tut, stylized lesson1 Questions

Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
Upstream-commit: c257dcc9a4a78aa4455fbd417d0f80b2efb4713a
Component: engine
2014-10-08 13:46:44 -07:00
34b246475b merged conflicting commits
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
Upstream-commit: 8ceb213b3e86973c795ec87a724c7dc7a794d57e
Component: engine
2014-10-08 13:44:21 -07:00
a61100d91a Fixes re-creating volume on (re)start
When a container is restarted all the volume configs are parsed again.
Even if the volume was already handled in a previous start it was still
calling "FindOrCreateVolume" on the volume repo causing a new volume to
be created.

This wasn't being detected because as part of the mount initialization
it checks to see if the the _mount_ was already initialized, but this
happens after the parsing of the configs.
So a check is added during parsing to skip a volume which was already
created for that container.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: c985302c5c2fb6d922acf29106b550cb36faaab6
Component: engine
2014-10-08 16:25:51 -04:00
153b47b46a Restore volume refs after daemon restart
Volume refs were not being restored on daemon restart.
This made it possible to remove a volume being used by other containers
after a daemon restart.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 9acf7c765c7e074f6c75eaf162ca06ecfe40d692
Component: engine
2014-10-08 14:17:27 -04:00
3b41fdc9e8 pass extra file to child process as status handler
When stdout/stderr is closed prematurely, the proxy's writes to stdout/stderr
(i.e. `log.Errorf/log.Printf`) will returns with EPIPE error, and go runtime
will terminate the proxy when stdout/stderr writes trigger 10 EPIPE errors.

instead of using stdout/stderr as the status handler, we pass an extra file to
the child process and write `0\n` or `1\nerror message` to it and close it
after. This allow the child process to handle stdout/stderr as normal.

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
Upstream-commit: 3b9d88210e763bebdfd7badb6ed3fd507d0f6513
Component: engine
2014-10-08 12:53:43 -04:00
b7f1d56490 Fix Tag Test for longer tags
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: de32f48e6668e9f071272d588cf6acdd7090b9ca
Component: engine
2014-10-07 19:37:08 -07:00
4ed325655c Merge pull request #8447 from burke/bump-tag-char-limit
Increase the tag length limit from 30 to 128
Upstream-commit: 60908acff6753a9a74cef011ca53d720997f019a
Component: engine
2014-10-07 18:31:35 -07:00
33d0e956f0 Add a best practice to reduce cache invalidations
inspired by https://github.com/docker-training/docker-fundamentals/pull/206

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: a36ba19ccad8ea551a912ce16921af89d9e59012
Component: engine
2014-10-08 11:26:48 +10:00
0369c01385 Merge pull request #8431 from aluzzardi/b-alloc-network-error-handling
Container#AllocateNetwork: Simplify error handling.
Upstream-commit: 7f22fc32d53daa24d55b1b761e03f756917b5443
Component: engine
2014-10-07 18:21:28 -07:00
3c1879f50c Merge pull request #8437 from SvenDowideit/un-pto-sven-oct-2014
back from camping, and making fred the docs 'guy in charge'
Upstream-commit: c2428ff8653cba5bb3aef4ace7066fa6fdb916b0
Component: engine
2014-10-07 20:01:26 -04:00
7d1d3484cd Merge pull request #8459 from crosbymichael/entrypoint-parent
Allow child to overwrite entrypoint from parent
Upstream-commit: 989e064d6e1d359aa2f9f5eb917c5a5467401dff
Component: engine
2014-10-07 16:57:44 -07:00
5e5d8e4584 Merge pull request #8451 from eparis/systemd
Fix system socket/service unit files
Upstream-commit: 85da74ce5fe90e7662137b931f90015398bddc20
Component: engine
2014-10-07 16:54:20 -07:00
4b817432e5 Test for check /etc/resolv.conf on every docker run for 127.* content.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: acd511786e5d9d2aa440f4265ed8d4dda149d1cc
Component: engine
2014-10-07 16:51:51 -07:00
2d4da4a816 Allow child to overwrite entrypoint from parent
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 50fa9dffcf023c81f3142f0ddd294db4ac6b8281
Component: engine
2014-10-07 23:45:35 +00:00
a6ccd9b35c Merge pull request #8434 from tiborvass/ignore_invalid_Dockerfile_instructions
Ignore unknown dockerfile instructions
Upstream-commit: 12203e475de1da4c6c58b52cc458e353f2b7ea3a
Component: engine
2014-10-07 14:45:51 -07:00
5e3424acb2 Check /etc/resolv.conf every time for 127.* content
Currently if you start the docker -d on a system with 127.0.0.1 in /etc/resolv.conf
It will set the default dns to 8.8.8.8 8.8.4.4 permanently.

This causes a problem at boot on Fedora machines where NetworkManager has not
populated /etc/resolv.conf before docker gets started.

This fix checks /etc/resolv.conf on every docker run. And only populates
daemon.config.Dns  if the user specified it on the command line.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 9ced509e6d89d1ab4e0c4b49485be7931b505354
Component: engine
2014-10-07 16:19:02 -04:00
4a5c5e00b6 Fix system socket/service unit files
Two problems how they are today:

In the current systemd unit files it is impossible to have the
docker.service started at system boot.  Instead enableing docker.service
will actually enable docker.socket.  This is a problem, as that means
any container with --restart=always will not launch on reboot.  And of
course as soon as you log in and type docker ps, docker.service will be
launched and now your images are running.  Talk about a PITA to debug!
The fix is to just install docker.service when people ask docker.service
to be enabled.  If an admin wants to enable docker.socket instead, that
is fine and will work just as it does today.

The second problem is a common docker devel workflow, although not
something normal admins would hit.  In this case consider a dev doing
the following:

systemctl stop docker.service

docker -d
[run commands]
[^C]

systemctl start docker.service

Running docker -d (without -F fd://) will clean up the
/var/run/docker.sock when it exits.  Remember, you just ran the docker
daemon not telling it about socket actviation, so cleaning up its socket
makes sense!  The new docker, started by systemd will expect socket
activation, but the last one cleaned up the docker.sock.  So things are
just broken.  You can, today, work around this by restarting
docker.socket.  This fixes it by telling docker.socket that it is
PartOf=docker.service.  So when docker.service is
started/stopped/restarted docker.socket will also be
started/stopped/restarted.  So the above semi-common devel workflow will
be fine.  When docker.service is stopped, so is docker.socket,   docker
-d (without -F fd://) will create and delete /var/run/docker.sock.
Starting docker.service again will restart docker.socket, which will
create the file an all is happy in the word.

Signed-off-by: Eric Paris <eparis@redhat.com>
Upstream-commit: 053c3557b3198466ecfbe066fefdbab2a78771d5
Component: engine
2014-10-07 14:09:08 -04:00
1c81511841 Increase the tag length limit from 30 to 128
Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
Upstream-commit: c95b0e02928e28c0bd5400b58b6ed043c1bbff23
Component: engine
2014-10-07 11:29:47 -04:00
82382ec8c3 back from camping, and making fred the docs 'guy in charge'
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
Upstream-commit: 9b5e6d40f5996a13f8e45e63f9dd4a9acae6061a
Component: engine
2014-10-07 15:54:30 +10:00
b1a8fc982d Merge pull request #8382 from jamtur01/cli
Multiple fixes to the cli.md document.
Upstream-commit: 7813f85e7d6ef4194cee1c1a5d32b649c6483287
Component: engine
2014-10-07 15:07:57 +10:00
ad9bf25691 Merge pull request #8304 from davide-ceretti/chore/prettify-docs-update.py
Prettify docs-update.py
Upstream-commit: 8f58025b704dfc98988ba9daaecd40dfa5f7e98d
Component: engine
2014-10-07 14:30:24 +10:00
6c9c0cbd11 Merge pull request #8341 from unclejack/add_workdir_test
add test for workdir env vars and add docs
Upstream-commit: 40cad37f0a4f182150476a577196af29da142fc1
Component: engine
2014-10-07 14:27:32 +10:00
94f1cd5e88 ignore invalid Dockerfile instructions and do not consider "docker-version" a Dockerfile instruction
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 0a2c481c7f24fcd295b1e1f6504732971b289919
Component: engine
2014-10-06 23:26:59 -04:00
6634e2c862 Add test for ignoring invalid dockerfile instructions
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 9fe1dd3103071a7ce8e6d7a1ce204351e8eaa248
Component: engine
2014-10-06 23:14:25 -04:00
dbcd84a852 Container#AllocateNetwork: Simplify error handling.
The defer logic was a little tricky and was hiding one bug: `err` was
being redefined (with `:=`) and thus it escaped the defer error checking
logic.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: 300c51c3a4ca47b022eb2efb75d1e8cf7736b0ff
Component: engine
2014-10-06 17:59:12 -07:00
9b33845098 google: fix typo
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: 0a056a31faa194998a1d4499c4f6ad292cadd3b3
Component: engine
2014-10-06 15:28:50 -07:00
3bb92dd8aa Merge pull request #8409 from unclejack/integcli_lint
integcli: lint fixes
Upstream-commit: a650ab7f29ea89d89a1bdee19823ca45fac4d4a4
Component: engine
2014-10-06 14:32:08 -07:00
16206f937c integcli: lint fixes
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: c0e632246d821f3f70ffcf7244cf7a9b336b0344
Component: engine
2014-10-06 23:15:17 +03:00
3743b4385f Merge pull request #8416 from LK4D4/fix_build_cache_test
Fix TestBuildCacheADD to check cache in out, not in id
Upstream-commit: 6157af82928f756aebab199d204fea236fdc2b73
Component: engine
2014-10-06 11:56:18 -07:00
d9d10efdf8 Merge pull request #8417 from cpuguy83/8398_fix_automatic_data_copy_for_volumesfrom
volumes copying data unexpectedly
Upstream-commit: 128c52f58334807182c6a0b7b4776de0f33f715f
Component: engine
2014-10-06 11:43:41 -07:00
2f2f4428e4 Merge pull request #8369 from vieux/add_test_rm
add test and move one from rm to rmi
Upstream-commit: 40070609da618f5b89482682168220432687a51b
Component: engine
2014-10-06 11:30:12 -07:00
ba6185d6ef Fix #8398 - volumes copying data unexpectedly
Prior to the volumes re-factor, data was not being copied on
volumes-from or host-mounted volumes.
After the re-factor, data was being copied for volumes-from.
This reverts this unintentional change in behavior.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: e95b6fb648ab6301b556192a9730a843fab7209f
Component: engine
2014-10-06 14:21:46 -04:00
052bf9aa82 update test
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 3e473c08b479e3ad783b31ad564f46ab87c8f034
Component: engine
2014-10-06 18:18:25 +00:00
4f7e9edd1b Merge pull request #8370 from duglin/ParserIndent
Fix builder/parser so it keeps some whitespace on split lines.
Upstream-commit: 7bd482d570549263a786e648fc72503f67a8368b
Component: engine
2014-10-06 10:32:02 -07:00
5db463afb6 Merge pull request #8391 from crosbymichael/disable-v2-registry
Remove registry v2 code path
Upstream-commit: a76169870043dcaab16f69c3751064857ecb5817
Component: engine
2014-10-06 10:12:20 -07:00
651e773954 Merge pull request #8343 from duglin/Issue5278
Make fixed font sizes smaller per Issue #5278
Upstream-commit: 3fc04f36e528599a7093a30dd35d920863762fed
Component: engine
2014-10-06 10:11:01 -07:00
620b3b5c3c Fix TestBuildCacheADD to check cache in out, not in id
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 21dff8cbecce458e7f532cedf1ca109c1f4fe6e2
Component: engine
2014-10-06 10:04:10 -07:00
2e080f911c Merge pull request #8408 from tonistiigi/8407-fix-host-header
Fix Host header on stream commands
Upstream-commit: 887d9238f5af04123755dcf513c28c891246363b
Component: engine
2014-10-06 09:48:12 -07:00
46821ac41b Fix streaming JSON Content-type for postBuild
See #8101

lineDelim is used by streamJSON() so it needs to be set
before its called.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
Upstream-commit: 30d6ff99fc6a22937b21bd9f35610d5f74a9b6e7
Component: engine
2014-10-06 19:20:10 +03:00
4d3be83da7 Fix Host header on stream commands
Fixes #8407

Setting Host on URL only works if the Request does not
already have its Host property set.

Note that the API version was also swallowed.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
Upstream-commit: e457b21db32359af085b04b5900ca6aab993ac86
Component: engine
2014-10-06 17:04:27 +03:00
6089ee6989 Make fixed font sizes smaller per Issue #5278
Closes #5278

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 9c201c5836fcee4455806a06fbada17cabd4296d
Component: engine
2014-10-06 06:49:33 -07:00
009f167f3a Fix builder/parser so it keeps some whitespace on split lines.
If previous line ends with whitespace, or next line starts with whitepsace
we need to preserve a space otherwise things line:
RUN echo\
   hello
will appear as: RUN echohello

Noticed this while looking at #5744 because he had lines ending in &&\

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: f440c6b2246cc4cfac4c5d351172e209dca2c765
Component: engine
2014-10-03 20:33:12 -07:00