You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 4, 2021. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Some highlights of Makisu:
12
12
* Requires no elevated privileges or containerd/Docker daemon, making the build process portable.
13
13
* Uses a distributed layer cache to improve performance across a build cluster.
14
14
* Provides control over generated layers with a new optional keyword [`#!COMMIT`](#explicit-commit-and-cache), reducing the number of layers in images.
15
-
* Is Docker compatible. Note, the Dockerfile parser in Makisu is opinionated in some scenarios. More details can be found [here](lib/parser/dockerfile/README.md).
15
+
* Is Docker compatible. Note, the Dockerfile parser in Makisu is opinionated in some scenarios. More details can be found [here](docs/PARSER.md).
16
16
17
17
Makisu has been in use at Uber since early 2018, building thousands of images every day across 4
18
18
different languages. The motivation and mechanism behind it are explained in https://eng.uber.com/makisu/.
Copy file name to clipboardExpand all lines: docs/COMMAND.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,15 +12,17 @@ Flags:
12
12
-f, --file string The absolute path to the dockerfile (default "Dockerfile")
13
13
-t, --tag string Image tag (required)
14
14
--push stringArray Registry to push image to
15
+
--replica stringArray Push targets with alternative full image names "<registry>/<repo>:<tag>"
15
16
--registry-config string Set build-time variables
16
17
--dest string Destination of the image tar
18
+
--target string Set the target build stage to build.
17
19
--build-arg stringArray Argument to the dockerfile as per the spec of ARG. Format is "--build-arg <arg>=<value>"
18
20
--modifyfs Allow makisu to modify files outside of its internal storage dir
19
21
--commit string Set to explicit to only commit at steps with '#!COMMIT' annotations; Set to implicit to commit at every ADD/COPY/RUN step (default "implicit")
20
22
--blacklist stringArray Makisu will ignore all changes to these locations in the resulting docker images
21
23
--local-cache-ttl duration Time-To-Live for local cache (default 168h0m0s)
22
24
--redis-cache-addr string The address of a redis server for cacheID to layer sha mapping
23
-
--redis-cache-password string The password of the Redis server, should match 'requirepass' in redis.conf
25
+
--redis-cache-password string The password of the Redis server, should match 'requirepass' in redis.conf
24
26
--redis-cache-ttl duration Time-To-Live for redis cache (default 168h0m0s)
25
27
--http-cache-addr string The address of the http server for cacheID to layer sha mapping
26
28
--http-cache-header stringArray Request header for http cache server. Format is "--http-cache-header <header>:<value>"
@@ -30,6 +32,7 @@ Flags:
30
32
--load Load image into docker daemon after build. Requires access to docker socket at location defined by ${DOCKER_HOST}
31
33
--storage string Directory that makisu uses for temp files and cached layers. Mount this path for better caching performance. If modifyfs is set, default to /makisu-storage; Otherwise default to /tmp/makisu-storage
32
34
--compression string Image compression level, could be 'no', 'speed', 'size', 'default' (default "default")
35
+
--preserve-root Copy / in the storage dir and copy it back after build.
Copy file name to clipboardExpand all lines: docs/PARSER.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ The following directives are not supported: ONBUILD and SHELL.
29
29
Syntax:
30
30
- #!COMMIT
31
31
- 'COMMIT' can be any case and there can be whitespace preceding '#', after '!', or after 'COMMIT'.
32
-
- It cannot be at the beginning of a line, since all lines beginning with '#' would be ignored.
32
+
- It cannot be at the beginning of a line, since all lines beginning with '#' would be ignored.
33
33
34
34
This is a special directive that indicates that a layer should be committed (used in the distributed cache). To enable this directive, `--commit=explicit` argument is required.
35
35
@@ -59,12 +59,13 @@ Variables are substituted using values from ARGs and ENVs within the stage.
- COPY \[--chown=\<user\>:\<group\>\]\[--from=\<name|index\>\]\["\<src\>",... "\<dest\>"\] (this form is required for paths containing whitespace)
64
+
- COPY \[--chown=\<user\>:\<group\>\]\[--from=\<name|index\>\]\[--archive\]\["\<src\>",... "\<dest\>"\] (this form is required for paths containing whitespace)
65
65
- JSON format.
66
66
67
67
Variables are substituted using values from ARGs and ENVs within the stage.
68
+
`--archive` is a makisu-specific option. By default, makisu will follow docker's behavior, where `dst` itself might be owned by root if not created beforehand. Adding `--archive` will make COPY preserve the original owner and permissions of `src` and its underlying files and directories.
Copy file name to clipboardExpand all lines: docs/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Some highlights of Makisu:
12
12
* Requires no elevated privileges or containerd/Docker daemon, making the build process portable.
13
13
* Uses a distributed layer cache to improve performance across a build cluster.
14
14
* Provides control over generated layers with a new optional keyword [`#!COMMIT`](#explicit-commit-and-cache), reducing the number of layers in images.
15
-
* Is Docker compatible. Note, the Dockerfile parser in Makisu is opinionated in some scenarios. More details can be found [here](lib/parser/dockerfile/README.md).
15
+
* Is Docker compatible. Note, the Dockerfile parser in Makisu is opinionated in some scenarios. More details can be found [here](docs/PARSER.md).
16
16
17
17
Makisu has been in use at Uber since early 2018, building thousands of images every day across 4
18
18
different languages. The motivation and mechanism behind it are explained in https://eng.uber.com/makisu/.
0 commit comments