Cleanup, use multi-stage Dockerfile to minimize size

This commit is contained in:
Chuck Lantz
2021-08-25 01:31:47 +00:00
parent d082058d44
commit 0b7c156506
6 changed files with 19 additions and 13 deletions

View File

@@ -1,7 +1,8 @@
# This dockerfile is used to build up from a base image to create an image with cached results of running "prepare.sh".
# Other image contents: https://github.com/microsoft/vscode-dev-containers/blob/master/repository-containers/images/github.com/microsoft/vscode/.devcontainer/base.Dockerfile
FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:dev
# First stage generates the cache tar
FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:dev as cache
ARG USERNAME=node
COPY --chown=${USERNAME}:${USERNAME} . /repo-source-tmp/
RUN mkdir /usr/local/etc/devcontainer-cache \
@@ -10,5 +11,11 @@ RUN mkdir /usr/local/etc/devcontainer-cache \
cd /repo-source-tmp \
&& .devcontainer/cache/before-cache.sh \
&& .devcontainer/prepare.sh \
&& .devcontainer/cache/cache-diff.sh" \
&& rm -rf /repo-source-tmp
&& .devcontainer/cache/cache-diff.sh"
# Second stage is the acual output that includes only the tar - restore-diff.sh is then fired on postCreateCommand to expand it
FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:dev as dev-container
ARG USERNAME=node
ARG CACHE_FOLDER="/usr/local/etc/devcontainer-cache"
RUN mkdir -p "${CACHE_FOLDER}" && chown "${USERNAME}:${USERNAME}" "${CACHE_FOLDER}"
COPY --from=cache ${CACHE_FOLDER}/cache.tar ${CACHE_FOLDER}/