We had some testers who found a hard to diagnose bug in Dockerfile

They used single-quotes (') in the exec-form of onbuild run command
and things blew up.  They asked to fix the man page to explain why.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
This commit is contained in:
Dan Walsh 2015-03-06 08:41:41 -05:00
parent 2a8a2d2428
commit b3769f0ca6
1 changed files with 6 additions and 0 deletions

View File

@ -97,6 +97,9 @@ A Dockerfile is similar to a Makefile.
exec form makes it possible to avoid shell string munging. The exec form makes exec form makes it possible to avoid shell string munging. The exec form makes
it possible to **RUN** commands using a base image that does not contain `/bin/sh`. it possible to **RUN** commands using a base image that does not contain `/bin/sh`.
Note that the exec form is parsed as a JSON array, which means that you must
use double-quotes (") around words not single-quotes (').
**CMD** **CMD**
-- **CMD** has three forms: -- **CMD** has three forms:
@ -120,6 +123,9 @@ A Dockerfile is similar to a Makefile.
be executed when running the image. be executed when running the image.
If you use the shell form of the **CMD**, the `<command>` executes in `/bin/sh -c`: If you use the shell form of the **CMD**, the `<command>` executes in `/bin/sh -c`:
Note that the exec form is parsed as a JSON array, which means that you must
use double-quotes (") around words not single-quotes (').
``` ```
FROM ubuntu FROM ubuntu
CMD echo "This is a test." | wc - CMD echo "This is a test." | wc -