mirror of
https://github.com/autc04/Retro68.git
synced 2025-01-02 17:31:35 +00:00
Dockerfile: only copy the build directory artifacts into the final release image
Use the docker multi-stage build functionality to perform the Retro68 build in a temporary build image, and then copy the final build directory into a fresh release image. This reduces the final release image size from 9.2GB to 2.6GB.
This commit is contained in:
parent
0649693436
commit
bde1485a9e
14
Dockerfile
14
Dockerfile
@ -1,6 +1,7 @@
|
|||||||
# vim:ft=dockerfile
|
# vim:ft=dockerfile
|
||||||
|
|
||||||
FROM ubuntu:20.04
|
# Base image
|
||||||
|
FROM ubuntu:20.04 AS base
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||||
@ -8,8 +9,15 @@ RUN apt-get update && \
|
|||||||
libboost-all-dev bison texinfo \
|
libboost-all-dev bison texinfo \
|
||||||
ruby flex curl g++
|
ruby flex curl g++
|
||||||
|
|
||||||
|
# Build image
|
||||||
|
FROM base AS build
|
||||||
|
|
||||||
ADD . /Retro68
|
ADD . /Retro68
|
||||||
|
|
||||||
RUN mkdir /Retro68-build
|
RUN mkdir /Retro68-build && \
|
||||||
|
bash -c "cd /Retro68-build && bash /Retro68/build-toolchain.bash"
|
||||||
|
|
||||||
RUN bash -c "cd /Retro68-build && bash /Retro68/build-toolchain.bash --clean-after-build"
|
# Release image
|
||||||
|
FROM base AS release
|
||||||
|
|
||||||
|
COPY --from=build /Retro68-build/toolchain /Retro68-build/toolchain
|
||||||
|
Loading…
Reference in New Issue
Block a user