lnd/dev.Dockerfile
Oliver Gugger 7692ced5f5
multi: update comment on changing Go version
Since we now have a scripted check that makes sure the Golang version is
synced throughout all files, it is important that the main version in
the Makefile is changed, then all other versions can be detected by that
script.
2024-12-02 09:48:26 +01:00

42 lines
1.1 KiB
Docker

# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
FROM golang:1.22.6-alpine as builder
LABEL maintainer="Olaoluwa Osuntokun <laolu@lightning.engineering>"
# Force Go to use the cgo based DNS resolver. This is required to ensure DNS
# queries required to connect to linked containers succeed.
ENV GODEBUG netdns=cgo
# Install dependencies.
RUN apk add --no-cache --update alpine-sdk \
bash \
git \
make
# Copy in the local repository to build from.
COPY . /go/src/github.com/lightningnetwork/lnd
# Install/build lnd.
RUN cd /go/src/github.com/lightningnetwork/lnd \
&& make \
&& make install-all tags="signrpc walletrpc chainrpc invoicesrpc peersrpc"
# Start a new, final image to reduce size.
FROM alpine as final
# Expose lnd ports (server, rpc).
EXPOSE 9735 10009
# Copy the binaries and entrypoint from the builder image.
COPY --from=builder /go/bin/lncli /bin/
COPY --from=builder /go/bin/lnd /bin/
# Add bash.
RUN apk add --no-cache \
bash
# Copy the entrypoint script.
COPY "docker/lnd/start-lnd.sh" .
RUN chmod +x start-lnd.sh