Commit Graph

79 Commits

Author SHA1 Message Date
cc3c0d322a Implement build cache based on history array
Based on work by KJ Tsanaktsidis

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: KJ Tsanaktsidis <kjtsanaktsidis@gmail.com>
Upstream-commit: 690882c2e79c3f3742c709cf158584e61594ba00
Component: engine
2016-09-23 11:30:06 -07:00
a0b2adc110 Merge pull request #26516 from yongtang/26453-build-bad-syntax
Check bad syntax on dockerfile before building.
Upstream-commit: 72f556a9ff1043a4188e8eeef892d8a0ba4fe34f
Component: engine
2016-09-23 12:24:20 +02:00
9e4c8c252a Update documentation and change log to include the preliminary validation of dockerfile.
This commit updates documentation and change log to include
the preliminary validation of the dockerfile before instructions
in dockerfile is run one-by-one.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: e33dea5b40a52c5dcda682a1a292584ae6bff00d
Component: engine
2016-09-22 14:33:37 -07:00
2a2af20475 Merge pull request #25774 from ddgenome/cmd-entrypoint-table
Update ENTRYPOINT/CMD table to agree with docs
Upstream-commit: 37869b237ccd6c8f48132d9372111acdf9533d1b
Component: engine
2016-09-15 09:35:13 +10:00
afc1ccd008 Merge pull request #25466 from justincormack/deprecate-maintainer
Begin process of deprecating MAINTAINER
Upstream-commit: 4d187df277153bf704868d9a67b1e4fa29abf873
Component: engine
2016-09-13 12:07:04 +02:00
70a2fe1d7b Fix documentation for Step 0 to Step 1 in docker build
The indexing of steps in the output of `docker build` starts with `Step 1`.
However, there are several places in the docs that start with `Step 0`.

This fix addresses the issue and changes `Step 0` to `Step 1` (and subsequent steps).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 256dbe4b752ba1fde88e6fad76e3a6b08e4a8816
Component: engine
2016-09-11 10:52:40 -07:00
2aa55a3d95 Fix typo in builder.md
Signed-off-by: Kris-Mikael Krister <krismikael@protonmail.com>
Upstream-commit: afcfa77dd80defa996d7d0e073d809ac03493f05
Component: engine
2016-08-30 09:34:10 +02:00
8610d3a32b Begin process of deprecating MAINTAINER
This may take some time, but start by pointing people at
LABEL instead.

MAINTAINER predates general LABEL and has basically no tooling,
only allows a single item to be added, and is has been
unofficially deprecated for some time, with many images not
including it, but we have never specifically said that it
should be replaced by LABEL as a better more generic metadata
solution.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: efb9e38ebab4b60a73e3295e3c468813182fd3ea
Component: engine
2016-08-25 18:43:27 +01:00
536db7fdc5 Merge pull request #25775 from ddgenome/entrypoint-env
Remove erroneous ENTRYPOINT note
Upstream-commit: c1bdda0be8616f987245cb61a4aedc09c8b5c806
Component: engine
2016-08-22 09:13:54 +02:00
84a03f36d0 docs: fix typo in url fragment
I noticed the broken hyperlink in this page:
https://docs.docker.com/engine/reference/builder/
The link should point to `#parser-directives`.

Signed-off-by: Mihai Borobocea <MihaiBorob@gmail.com>
Upstream-commit: 441ecc459f0d08a930ee2d6f4502f24e2217e1fc
Component: engine
2016-08-20 16:19:05 +03:00
1625a6329f Make it clear who is doing variable expansion
Add sentece to RUN, CMD, and ENTRYPOINT exec sections making it clear
that it is the shell doing the environment variable expansion.

Signed-off-by: David Dooling <dooling@gmail.com>
Upstream-commit: 20e336efac147f7cc565eeb4c68beb6ccf905e50
Component: engine
2016-08-17 06:31:19 -05:00
06ad6e4384 Remove erroneous ENTRYPOINT note
The Dockerfile parser does not subsitute ENV variables in any form of
the ENTRYPOINT command.  Any substitution, if done, is done by the shell
when the command is executed.

Signed-off-by: David Dooling <dooling@gmail.com>
Upstream-commit: f44d78b47838204b85204711d014b7f4cf7826ec
Component: engine
2016-08-16 15:24:41 -05:00
d9de7815ff Update ENTRYPOINT/CMD table to agree with docs
Several other places in the document it states that when using the shell
form of ENTRYPOINT, CMD and command line arguments are ignored.  That is
accurate, this table was not.  It is now.

Signed-off-by: David Dooling <dooling@gmail.com>
Upstream-commit: 28e01950a22f0c21b7072bae4812b21763072d87
Component: engine
2016-08-16 15:23:59 -05:00
11cd397072 healthcheck: do not interpret exit code 2 as "starting"
Instead reserve exit code 2 to be future proof, document that it should
not be used. Implementation-wise, it is considered as unhealthy, but
users should not rely on this as it may change in the future.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 91e9f3831330c63f8351b9fc3f7c31b3229505be
Component: engine
2016-07-25 14:28:45 -07:00
2fa3ccc004 Fix some broken sourceforge.net links
Looks like there's issues with sourceforge project
pages. Given that sourceforge isn't really what
it used to be, trying to find alternative URLs
where possible.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 0e7a1079be5e87aae2abcda7c27a2b0e67270a50
Component: engine
2016-07-12 21:51:14 +02:00
fb15fd3401 Clarify warning against using build-time variables for secrets
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Upstream-commit: 9af24ba3ac9c2efbb8ec7edef4668650a3c31834
Component: engine
2016-07-11 21:21:33 -04:00
0bdbf282f3 Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
Upstream-commit: 644a7426cc31c338fedb6574d2b88d1cc2f43a08
Component: engine
2016-07-03 20:58:11 +03:00
bea7ea0ca9 Fix error for env variables example in docker reference - 2
The reason why the issue occurs is because sh parses the first argument after -c as the whole script to execute.
Everything after isn't executed as one might expect.

When working on the 'fix' I found out the same fix is also done in commit 2af7c5cfe24b4c8e931f751979b5e69e20ba77e2, except only for one occurrence.

Signed-off-by: Serhat Gülçiçek <serhat+signoff@equil.nl>
Upstream-commit: 7a30fa7af6f0bb3850ce6167850642420b4c0633
Component: engine
2016-06-20 13:09:44 +02:00
ce19593c15 surfacing Learn by example topics to top level of Docker Engine docs
fixing links after moving surfacing tutorials

fixing more links for the newly located tutorials

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Upstream-commit: 8eca8089fa35f652060e86906166dabc42e556f8
Component: engine
2016-06-13 13:32:30 -07:00
82e00cd535 typo in builder.md: its => it's
Signed-off-by: Kevin Burke <kev@inburke.com>
Upstream-commit: c9a68ffb2ae7b2ac13a2febab82b3d7a824eb97f
Component: engine
2016-06-11 12:33:58 -07:00
86b04a6a8a Merge pull request #22489 from Microsoft/jjh/shell
Builder shell configuration
Upstream-commit: df1dd1322d5c9527be7187038ca3480404b1282b
Component: engine
2016-06-05 17:43:12 +02:00
f88056a4aa Merge pull request #23232 from thaJeztah/update-default-retries
Healthcheck: set default retries to 3
Upstream-commit: 3db23a4eaf19d347c486f0f0ae764ea1b84491c0
Component: engine
2016-06-04 07:50:04 +02:00
d5ece41dcd Builder default shell
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b18ae8c9ccc2eb6cf8aa947f25eb6f1d20089776
Component: engine
2016-06-03 13:54:31 -07:00
52ca58bbaa Healthcheck: set default retries to 3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 50e470fab4ebdffff74bafeefa2f7fb8c21da13e
Component: engine
2016-06-03 13:28:08 +02:00
3dff30ced8 Add support for comment in .dockerignore
This fix tries to address the issue raised in #20083 where
comment is not supported in `.dockerignore`.

This fix updated the processing of `.dockerignore` so that any
lines starting with `#` are ignored, which is similiar to the
behavior of `.gitignore`.

Related documentation has been updated.

Additional tests have been added to cover the changes.

This fix fixes #20083.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 8913dace341c8fc9f9a3ab9518c8521c161b307f
Component: engine
2016-06-02 19:06:52 -07:00
4524589dc5 Add support for user-defined healthchecks
This PR adds support for user-defined health-check probes for Docker
containers. It adds a `HEALTHCHECK` instruction to the Dockerfile syntax plus
some corresponding "docker run" options. It can be used with a restart policy
to automatically restart a container if the check fails.

The `HEALTHCHECK` instruction has two forms:

* `HEALTHCHECK [OPTIONS] CMD command` (check container health by running a command inside the container)
* `HEALTHCHECK NONE` (disable any healthcheck inherited from the base image)

The `HEALTHCHECK` instruction tells Docker how to test a container to check that
it is still working. This can detect cases such as a web server that is stuck in
an infinite loop and unable to handle new connections, even though the server
process is still running.

When a container has a healthcheck specified, it has a _health status_ in
addition to its normal status. This status is initially `starting`. Whenever a
health check passes, it becomes `healthy` (whatever state it was previously in).
After a certain number of consecutive failures, it becomes `unhealthy`.

The options that can appear before `CMD` are:

* `--interval=DURATION` (default: `30s`)
* `--timeout=DURATION` (default: `30s`)
* `--retries=N` (default: `1`)

The health check will first run **interval** seconds after the container is
started, and then again **interval** seconds after each previous check completes.

If a single run of the check takes longer than **timeout** seconds then the check
is considered to have failed.

It takes **retries** consecutive failures of the health check for the container
to be considered `unhealthy`.

There can only be one `HEALTHCHECK` instruction in a Dockerfile. If you list
more than one then only the last `HEALTHCHECK` will take effect.

The command after the `CMD` keyword can be either a shell command (e.g. `HEALTHCHECK
CMD /bin/check-running`) or an _exec_ array (as with other Dockerfile commands;
see e.g. `ENTRYPOINT` for details).

The command's exit status indicates the health status of the container.
The possible values are:

- 0: success - the container is healthy and ready for use
- 1: unhealthy - the container is not working correctly
- 2: starting - the container is not ready for use yet, but is working correctly

If the probe returns 2 ("starting") when the container has already moved out of the
"starting" state then it is treated as "unhealthy" instead.

For example, to check every five minutes or so that a web-server is able to
serve the site's main page within three seconds:

    HEALTHCHECK --interval=5m --timeout=3s \
      CMD curl -f http://localhost/ || exit 1

To help debug failing probes, any output text (UTF-8 encoded) that the command writes
on stdout or stderr will be stored in the health status and can be queried with
`docker inspect`. Such output should be kept short (only the first 4096 bytes
are stored currently).

When the health status of a container changes, a `health_status` event is
generated with the new status. The health status is also displayed in the
`docker ps` output.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: b6c7becbfe1d76b1250f6d8e991e645e13808a9c
Component: engine
2016-06-02 23:58:34 +02:00
5bcb28804b Merge pull request #22268 from Microsoft/jjh/continuationescape
Support platform semantic file paths through ESCAPE
Upstream-commit: 8e924153e219d040e3aa672df4e0c7baff9f8d8b
Component: engine
2016-05-26 10:00:56 -07:00
db5e90b511 Docs: JSON vs Shell clarification
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 0cacd4bee2197e66105d960507f2ccac0f040263
Component: engine
2016-05-20 20:56:08 -07:00
886f3ce26b Support platform file paths through escape
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e8e3dd32c5bad727010ec787f484b98942977531
Component: engine
2016-05-20 20:29:59 -07:00
6d47664a6b Fix error for env variables example in docker reference
Signed-off-by: Charles Law <claw@conduce.com>
Upstream-commit: 2af7c5cfe24b4c8e931f751979b5e69e20ba77e2
Component: engine
2016-05-13 10:55:36 -07:00
7bad1decfe Correct docs for a docker container's clean-up.
The 'Unix Signals' (https://en.wikipedia.org/wiki/Unix_signal#Handling_signals) wiki explains that:
> 'There are two signals which cannot be intercepted and handled: SIGKILL and SIGSTOP.'

Signed-off-by: kevinmeredith <kevin.m.meredith@gmail.com>
Upstream-commit: ef7cd217663c7f6bff5f1d49461c004e86fed867
Component: engine
2016-05-11 14:58:23 -04:00
44c73694c8 Improve build cache miss doc for ARG and RUN
The documentation already says the cache miss happens only at `ARG`
variable usage, not declaration, but there is a very common implicit
usage: `RUN`, which this commit documents even more, improving on #21790.

Also, use `definition` instead of `declaration`: it's the same thing, and
`definition` is already used in this documentation, contrary to
`declaration`.

Also, distinguish between "instructions" and "variables defined by `ARG`
instructions".

Signed-off-by: Thomas Riccardi <riccardi@systran.fr>
Upstream-commit: 82f5ef2d2562f9e742eb694dc4b0a1f768a4f0de
Component: engine
2016-04-13 15:02:09 +02:00
09c84ecb5a make the cache miss clear
Signed-off-by: mikelinjie <294893458@qq.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 66b8714da4e92b3587cbbf25116541f4de63169e
Component: engine
2016-04-06 00:48:21 -07:00
bec4433ff4 WORKDIR is like calling mkdir - but we've not told people
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: c937b43abd302b7643e0257a843ffda60f101fcc
Component: engine
2016-03-22 14:05:56 +10:00
9933657e25 Docs: add note about CMD and ENTRYPOINT commands
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
Upstream-commit: 1ed84770c52b0abd026fe9c1acc51f19d94fad12
Component: engine
2016-02-24 22:57:25 +01:00
6396772da2 add missing trailing slash in ADD and COPY /absoluteDir examples. According to the specs they are mandatory.
Signed-off-by: Bastiaan Bakker <bbakker@xebia.com>
Upstream-commit: f982f08c5097e25b901152289faf960d557c130e
Component: engine
2016-02-16 22:52:16 +01:00
697a990701 fix common misspell
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 99a396902f0ea9d81ef87a683489b2435408f415
Component: engine
2016-02-11 15:49:36 -08:00
7637bcdb16 Fix typo
Signed-off-by: Prayag Verma <prayag.verma@gmail.com>
Upstream-commit: 86beb6e27e9954e50828993ef0fb44486d2318ab
Component: engine
2016-02-01 01:25:59 +05:30
e734434f58 Creating Engine specific menu
Fixing the links
Updating with Seb's comments
Adding weight
Fixing the engine aliases
Updating after Arun pushed
Removing empty file

Signed-off-by: Mary Anthony <mary@docker.com>
Upstream-commit: e310d070f498a2ac494c6d3fde0ec5d6e4479e14
Component: engine
2016-01-26 15:58:53 -08:00
5246f2719a Add some helper text for magical ADD
Closes: #15777

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 8d94a85d62d6945be1217446738d856b3c2e2ddc
Component: engine
2016-01-22 10:13:13 -08:00
7ad15b069e Fix ambassador script based on SvenDowideit/dockerfiles#37
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
Upstream-commit: cc44ea21e481d34ab9621afd6944b6c14a23106a
Component: engine
2016-01-08 20:55:22 +00:00
713c4dbaf0 Add some docs about build-arg's impact on the cache
Closes #18017

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 5bf4766fcaae80b80d53cce88987a8d3a9ac357e
Component: engine
2015-11-23 08:51:11 -08:00
6df421c14f Fixes found by docs validation tool
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: 043f447e2e9ecb9d6f34bcee6c11f20f263baf66
Component: engine
2015-11-23 11:19:38 +10:00
aac6b83468 Merge pull request #17090 from duglin/dockerignoreWildcards
Support multi-dir wildcards in .dockerignore
Upstream-commit: f5e318a17b8bd3126281add5e82dfb09be5b8f11
Component: engine
2015-11-13 14:29:34 -08:00
775e6c0f07 Support multi-dir wildcards in .dockerignore
Closes #13113

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: eddb14a44eb3ca6ba0b5e6906e21d767eba1af86
Component: engine
2015-11-13 13:44:07 -08:00
ecd671294f First pass at consolidating
Removing old networking.md
Updating dockernetworks.md with images
Adding information on network plugins
Adding blurb about links to docker networking
Updating the working documentation
Adding Overlay Getting Started
Downplaying links by removing refs/examples, adding refs/examples for network.
Updating getting started to reflect networks not links
Pulling out old network material
Updating per discussion with Madhu to add Default docs section
Updating with bridge default
Fix bad merge
Updating with new cluster-advertise behavior
Update working and NetworkSettings examples
Correcting example for default bridge discovery behavior
Entering comments
Fixing broken Markdown Syntax
Updating with comments
Updating all the links

Signed-off-by: Mary Anthony <mary@docker.com>
Upstream-commit: 9ef855f9e5fa8077468bda5ce43155318c58e60e
Component: engine
2015-11-02 21:14:55 -08:00
a4eeeb73b3 Add ability to add multiple tags with docker build
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: c2eb37f9aeb6215293483e02613514e49011cf2c
Component: engine
2015-10-24 00:59:56 +08:00
57010d523d Merge pull request #16801 from aidanhs/aphs-add-socat-t
Update ambassador image, use the socat -t option
Upstream-commit: b826215c575e320f0cad7c07f8bfdf85437c1be9
Component: engine
2015-10-20 14:24:25 +10:00
00116420f7 updating docs for EXPOSE option on run command; fixes #16634
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
Upstream-commit: d955fdb9ac279d5ea8e5fd20719eda579cca97ed
Component: engine
2015-10-13 10:43:27 -05:00
6b6c7cc2b6 Enabled GitHub Flavored Markdown
GitHub flavored markdown is now supported for links and images. Also, ran LinkChecker and FileResolver. Yay!
Fixes from Spider check
Output for docker/docker now goes into engine directory

Signed-off-by: Mary Anthony <mary@docker.com>
Upstream-commit: 8fee1c2020186ac100b45e64864b94ae3a169ad5
Component: engine
2015-10-11 07:49:54 -07:00