diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000000..4327498f555 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +docs/ +networks/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 36d2dfa7f85..47e1e213f57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- [#869](https://github.com/osmosis-labs/osmosis/pull/869) Update Dockerfile to use distroless base image. - [#856](https://github.com/osmosis-labs/osmosis/pull/856) Make superfluid staking keeper in app.go a pointer receiver. - [#765](https://github.com/osmosis-labs/osmosis/pull/765) Fix a bug in `Makefile` regarding the location of localtestnet docker image. - [#795](https://github.com/osmosis-labs/osmosis/pull/795) Annotate app.go diff --git a/Dockerfile b/Dockerfile index 00ba032c35e..a263e9f2ffc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,22 @@ -FROM faddat/archlinux AS build +# syntax=docker/dockerfile:1 -ENV GOPATH=/go -ENV PATH=$PATH:/go/bin +## Build +FROM golang:1.17-bullseye as build -# Set up dependencies -RUN pacman -Syyu --noconfirm curl make git go gcc linux-headers python base-devel protobuf wget && \ - wget -O /genesis.json https://github.com/osmosis-labs/networks/raw/main/osmosis-1/genesis.json - - -# Add source files +WORKDIR /osmosis COPY . /osmosis +RUN make build -# Install minimum necessary dependencies, build Cosmos SDK, remove packages -RUN cd /osmosis && \ - make install - -# Final image -FROM faddat/archlinux +## Deploy +FROM gcr.io/distroless/base-debian11 -RUN pacman -Syyu --noconfirm +WORKDIR / -# Copy over binaries from the build-env -COPY --from=build /go/bin/osmosisd /usr/bin/osmosisd -COPY --from=build /genesis.json /genesis.json +COPY --from=build /osmosis/build/osmosisd /osmosisd -# Run osmosisd by default, omit entrypoint to ease using container with osmosiscli EXPOSE 26656 EXPOSE 26657 EXPOSE 1317 EXPOSE 9090 +ENTRYPOINT ["/osmosisd"] \ No newline at end of file