mirror of https://github.com/docker/docs.git
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:
parent
2a8a2d2428
commit
b3769f0ca6
|
@ -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 -
|
||||||
|
|
Loading…
Reference in New Issue