diff options
author | Emiliano Ciavatta | 2020-09-16 15:54:47 +0000 |
---|---|---|
committer | GitHub | 2020-09-16 15:54:47 +0000 |
commit | 991d3b6c91d9fe3046ec94a3716a7dd21f496feb (patch) | |
tree | dfb183c32ab4730a18b9a9c9c39b802a7b9d3eda | |
parent | 1e8a07f770c85a2ed6159798d1fb00dbebe08e98 (diff) | |
parent | 5a6f17b6439e42e829a9489575400492bcd10655 (diff) |
Merge pull request #14 from therealbobo/minimized_docker
Added multistage to Dockerfile
-rw-r--r-- | Dockerfile | 28 |
1 files changed, 24 insertions, 4 deletions
@@ -1,11 +1,12 @@ -FROM ubuntu:20.04 +# BUILD STAGE +FROM ubuntu:20.04 AS BUILDSTAGE # Install tools and libraries -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -qq git golang-1.14 pkg-config libpcap-dev libhyperscan-dev yarnpkg +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -qq git golang-1.14 pkg-config libpcap-dev libhyperscan-dev yarnpkg curl RUN ln -sf ../lib/go-1.14/bin/go /usr/bin/go -ENV GIN_MODE release COPY . /caronte @@ -13,6 +14,25 @@ WORKDIR /caronte RUN go mod download && go build -RUN cd frontend && yarnpkg install && yarnpkg build +RUN cd frontend && \ + yarnpkg install && \ + yarnpkg build --production=true +RUN curl -sf https://gobinaries.com/tj/node-prune | sh && cd /caronte/frontend && node-prune + + +# LAST STAGE +FROM ubuntu:20.04 + +COPY --from=BUILDSTAGE /caronte/caronte /caronte/caronte +COPY --from=BUILDSTAGE /caronte/frontend /caronte/frontend +COPY --from=BUILDSTAGE /caronte/shared /caronte/shared + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -qq libpcap-dev libhyperscan-dev && \ + rm -rf /var/lib/apt/lists/* + +ENV GIN_MODE release + +WORKDIR /caronte CMD ./caronte |