Skip to content

Commit 11d73fb

Browse files
authored
chore(docker): Add --link flags to COPY/ADD operations for improved build performance (fixes y-scope#1408). (y-scope#1411)
1 parent 7e1c717 commit 11d73fb

File tree

8 files changed

+33
-17
lines changed

8 files changed

+33
-17
lines changed

components/core/tools/docker-images/clp-core-ubuntu-jammy/Dockerfile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM ubuntu:jammy AS base
24

35
# Install runtime dependencies
@@ -14,15 +16,15 @@ RUN apt-get clean \
1416

1517
WORKDIR /clp
1618

17-
ADD ./clg ./
18-
ADD ./clp ./
19-
ADD ./clp-s ./
20-
ADD ./glt ./
21-
ADD ./make-dictionaries-readable ./
19+
COPY --link ./clg ./
20+
COPY --link ./clp ./
21+
COPY --link ./clp-s ./
22+
COPY --link ./glt ./
23+
COPY --link ./make-dictionaries-readable ./
2224

2325
# Flatten the image
2426
FROM scratch
25-
COPY --from=base / /
27+
COPY --link --from=base / /
2628

2729
WORKDIR /clp
2830

components/core/tools/docker-images/clp-env-base-centos-stream-9/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM dokken/centos-stream-9 AS base
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
ADD ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
# Set pipx environment vars so that the pipx scripts install into the global locations without
911
# passing the `--global` flag.
@@ -18,4 +20,4 @@ RUN dnf clean all \
1820

1921
# Flatten the image
2022
FROM scratch
21-
COPY --from=base / /
23+
COPY --link --from=base / /

components/core/tools/docker-images/clp-env-base-manylinux_2_28-aarch64/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM quay.io/pypa/manylinux_2_28_aarch64
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
COPY ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
RUN pipx uninstall cmake
911
RUN pipx uninstall uv

components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM quay.io/pypa/manylinux_2_28_x86_64
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
COPY ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
RUN pipx uninstall cmake
911
RUN pipx uninstall uv

components/core/tools/docker-images/clp-env-base-musllinux_1_2-aarch64/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM quay.io/pypa/musllinux_1_2_aarch64
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
COPY ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
RUN pipx uninstall cmake
911
RUN pipx uninstall uv

components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86_64/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM quay.io/pypa/musllinux_1_2_x86_64 AS base
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
COPY ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
RUN pipx uninstall cmake
911
RUN pipx uninstall uv

components/core/tools/docker-images/clp-env-base-ubuntu-jammy/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM ubuntu:jammy AS base
24

35
WORKDIR /root
46

57
RUN mkdir -p ./tools/scripts/lib_install
6-
ADD ./tools/scripts/lib_install ./tools/scripts/lib_install
8+
COPY --link ./tools/scripts/lib_install ./tools/scripts/lib_install
79

810
# Set pipx environment vars so that the pipx scripts install into the global locations without
911
# passing the `--global` flag.
@@ -18,4 +20,4 @@ RUN apt-get clean \
1820

1921
# Flatten the image
2022
FROM scratch
21-
COPY --from=base / /
23+
COPY --link --from=base / /

tools/docker-images/clp-package/Dockerfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM ubuntu:jammy AS base
24

35
WORKDIR /root
46

5-
COPY ./tools/docker-images/clp-package/setup-scripts ./setup-scripts
7+
COPY --link ./tools/docker-images/clp-package/setup-scripts ./setup-scripts
68
RUN ./setup-scripts/install-prebuilt-packages.sh \
79
&& rm -rf ./setup-scripts/
810

@@ -17,8 +19,8 @@ ENV PYTHONPATH="${CLP_HOME}/lib/python3/site-packages"
1719

1820
USER 1000:1000
1921

20-
COPY ./build/clp-package /opt/clp
22+
COPY --link ./build/clp-package /opt/clp
2123

2224
# Flatten the image
2325
FROM scratch
24-
COPY --from=base / /
26+
COPY --link --from=base / /

0 commit comments

Comments
 (0)