Browse code

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>

Yong Tang authored on 2016/09/22 09:42:53
Showing 10 changed files
... ...
@@ -123,6 +123,7 @@ This section lists each version from latest to oldest.  Each listing includes a
123 123
 * `POST /containers/create/` and `POST /containers/(name)/update` now validates restart policies.
124 124
 * `POST /containers/create` now validates IPAMConfig in NetworkingConfig, and returns error for invalid IPv4 and IPv6 addresses (`--ip` and `--ip6` in `docker create/run`).
125 125
 * `POST /containers/create` now takes a `Mounts` field in `HostConfig` which replaces `Binds` and `Volumes`. *note*: `Binds` and `Volumes` are still available but are exclusive with `Mounts`
126
+* `POST /build` now performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. Note that this change is _unversioned_ and applied to all API versions.
126 127
 
127 128
 ### v1.24 API changes
128 129
 
... ...
@@ -1201,6 +1201,10 @@ The archive may include any number of other files,
1201 1201
 which are accessible in the build context (See the [*ADD build
1202 1202
 command*](../../reference/builder.md#add)).
1203 1203
 
1204
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1205
+starting the build, and returns an error if the syntax is incorrect. After that,
1206
+each instruction is run one-by-one until the ID of the new image is output.
1207
+
1204 1208
 The build is canceled if the client drops the connection by quitting
1205 1209
 or being killed.
1206 1210
 
... ...
@@ -1243,6 +1243,10 @@ The archive may include any number of other files,
1243 1243
 which are accessible in the build context (See the [*ADD build
1244 1244
 command*](../../reference/builder.md#add)).
1245 1245
 
1246
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1247
+starting the build, and returns an error if the syntax is incorrect. After that,
1248
+each instruction is run one-by-one until the ID of the new image is output.
1249
+
1246 1250
 The build is canceled if the client drops the connection by quitting
1247 1251
 or being killed.
1248 1252
 
... ...
@@ -1370,6 +1370,10 @@ The archive may include any number of other files,
1370 1370
 which are accessible in the build context (See the [*ADD build
1371 1371
 command*](../../reference/builder.md#add)).
1372 1372
 
1373
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1374
+starting the build, and returns an error if the syntax is incorrect. After that,
1375
+each instruction is run one-by-one until the ID of the new image is output.
1376
+
1373 1377
 The build is canceled if the client drops the connection by quitting
1374 1378
 or being killed.
1375 1379
 
... ...
@@ -1448,6 +1448,10 @@ The archive may include any number of other files,
1448 1448
 which are accessible in the build context (See the [*ADD build
1449 1449
 command*](../../reference/builder.md#add)).
1450 1450
 
1451
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1452
+starting the build, and returns an error if the syntax is incorrect. After that,
1453
+each instruction is run one-by-one until the ID of the new image is output.
1454
+
1451 1455
 The build is canceled if the client drops the connection by quitting
1452 1456
 or being killed.
1453 1457
 
... ...
@@ -1625,6 +1625,10 @@ The archive may include any number of other files,
1625 1625
 which are accessible in the build context (See the [*ADD build
1626 1626
 command*](../../reference/builder.md#add)).
1627 1627
 
1628
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1629
+starting the build, and returns an error if the syntax is incorrect. After that,
1630
+each instruction is run one-by-one until the ID of the new image is output.
1631
+
1628 1632
 The build is canceled if the client drops the connection by quitting
1629 1633
 or being killed.
1630 1634
 
... ...
@@ -1658,6 +1658,10 @@ The archive may include any number of other files,
1658 1658
 which are accessible in the build context (See the [*ADD build
1659 1659
 command*](../../reference/builder.md#add)).
1660 1660
 
1661
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1662
+starting the build, and returns an error if the syntax is incorrect. After that,
1663
+each instruction is run one-by-one until the ID of the new image is output.
1664
+
1661 1665
 The build is canceled if the client drops the connection by quitting
1662 1666
 or being killed.
1663 1667
 
... ...
@@ -1661,6 +1661,10 @@ The archive may include any number of other files,
1661 1661
 which are accessible in the build context (See the [*ADD build
1662 1662
 command*](../../reference/builder.md#add)).
1663 1663
 
1664
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1665
+starting the build, and returns an error if the syntax is incorrect. After that,
1666
+each instruction is run one-by-one until the ID of the new image is output.
1667
+
1664 1668
 The build is canceled if the client drops the connection by quitting
1665 1669
 or being killed.
1666 1670
 
... ...
@@ -1682,6 +1682,10 @@ The archive may include any number of other files,
1682 1682
 which are accessible in the build context (See the [*ADD build
1683 1683
 command*](../../reference/builder.md#add)).
1684 1684
 
1685
+The Docker daemon performs a preliminary validation of the `Dockerfile` before
1686
+starting the build, and returns an error if the syntax is incorrect. After that,
1687
+each instruction is run one-by-one until the ID of the new image is output.
1688
+
1685 1689
 The build is canceled if the client drops the connection by quitting
1686 1690
 or being killed.
1687 1691
 
... ...
@@ -68,6 +68,13 @@ add multiple `-t` parameters when you run the `build` command:
68 68
 
69 69
     $ docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .
70 70
 
71
+Before the Docker daemon runs the instructions in the `Dockerfile`, it performs
72
+a preliminary validation of the `Dockerfile` and returns an error if the syntax is incorrect:
73
+
74
+    $ docker build -t test/myapp .
75
+    Sending build context to Docker daemon 2.048 kB
76
+    Error response from daemon: Unknown instruction: RUNCMD
77
+
71 78
 The Docker daemon runs the instructions in the `Dockerfile` one-by-one,
72 79
 committing the result of each instruction
73 80
 to a new image if necessary, before finally outputting the ID of your