Simplify Dockerfile
Use multi stage Dockerfile to greatly simplify build.
This commit is contained in:
parent
fb97aca5a6
commit
71df01c00f
29
Dockerfile
29
Dockerfile
|
@ -1,10 +1,25 @@
|
||||||
|
FROM ubuntu:16.04 AS build
|
||||||
|
|
||||||
|
# Install GHC and cabal
|
||||||
|
USER root
|
||||||
|
WORKDIR /opt/shellCheck
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
ghc \
|
||||||
|
cabal-install
|
||||||
|
RUN cabal update && \
|
||||||
|
cabal install --dependencies-only
|
||||||
|
RUN cabal build Paths_ShellCheck && \
|
||||||
|
ghc -optl-static -optl-pthread -idist/build/autogen --make shellcheck && \
|
||||||
|
strip --strip-all shellcheck
|
||||||
|
|
||||||
|
RUN mkdir -p /out/bin && \
|
||||||
|
cp shellcheck /out/bin/
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
|
|
||||||
LABEL maintainer="Vidar Holen <vidar@vidarholen.net>"
|
LABEL maintainer="Vidar Holen <vidar@vidarholen.net>"
|
||||||
|
WORKDIR /
|
||||||
# This file assumes ShellCheck has already been built.
|
COPY --from=build /out /
|
||||||
# See https://github.com/koalaman/scbuilder
|
|
||||||
COPY shellcheck /bin/shellcheck
|
|
||||||
|
|
||||||
WORKDIR /mnt
|
|
||||||
ENTRYPOINT ["/bin/shellcheck"]
|
ENTRYPOINT ["/bin/shellcheck"]
|
||||||
|
|
Loading…
Reference in New Issue