From f5ba377d2a32329434a5bdb691fe6370bba742a6 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Thu, 16 May 2019 00:28:46 +0200 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7930a7a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM golang:alpine AS build-env + +WORKDIR /src +ADD . /src +RUN apk add --no-cache git make +RUN make + +FROM alpine:latest + +COPY --from=build-env /src/doh-client/doh-client /doh-client +COPY --from=build-env /src/doh-server/doh-server /doh-server + +ADD doh-client/doh-client.conf /doh-client.conf +ADD doh-server/doh-server.conf /doh-server.conf + +RUN sed -i 's/127.0.0.1/0.0.0.0/' /doh-server.conf + +EXPOSE 8053 + +ENTRYPOINT ["/doh-server"] +CMD ["-conf", "/doh-server.conf"] From 5c27ae02c041ae32dc88ac3c004637d5e9f0dcb6 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Thu, 16 May 2019 20:31:03 +0200 Subject: [PATCH 2/3] Update Dockerfile to make doh-server listen on IPv4 and IPv6 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7930a7a..6eba7ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ COPY --from=build-env /src/doh-server/doh-server /doh-server ADD doh-client/doh-client.conf /doh-client.conf ADD doh-server/doh-server.conf /doh-server.conf -RUN sed -i 's/127.0.0.1/0.0.0.0/' /doh-server.conf +RUN sed -i '$!N;s/"127.0.0.1:8053",\s*"\[::1\]:8053",/":8053",/;P;D' /doh-server.conf EXPOSE 8053 From c8c22873bb5d80e8b21aee9dc75d1ed51b694fc3 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Thu, 16 May 2019 20:47:40 +0200 Subject: [PATCH 3/3] Build separate Docker image for doh-server and doh-client Make doh-client also listen on both IPv4 and IPv6 --- Dockerfile.client | 21 +++++++++++++++++++++ Dockerfile => Dockerfile.server | 4 +--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 Dockerfile.client rename Dockerfile => Dockerfile.server (76%) diff --git a/Dockerfile.client b/Dockerfile.client new file mode 100644 index 0000000..bb4c111 --- /dev/null +++ b/Dockerfile.client @@ -0,0 +1,21 @@ +FROM golang:alpine AS build-env + +WORKDIR /src +ADD . /src +RUN apk add --no-cache git make +RUN make doh-client/doh-client + +FROM alpine:latest + +COPY --from=build-env /src/doh-client/doh-client /doh-client + +ADD doh-client/doh-client.conf /doh-client.conf + +RUN sed -i '$!N;s/"127.0.0.1:53",.*"127.0.0.1:5380",/":53",/;P;D' /doh-client.conf +RUN sed -i '$!N;s/"\[::1\]:53",.*"\[::1\]:5380",/":5380",/;P;D' /doh-client.conf + +EXPOSE 53 +EXPOSE 5380 + +ENTRYPOINT ["/doh-client"] +CMD ["-conf", "/doh-client.conf"] diff --git a/Dockerfile b/Dockerfile.server similarity index 76% rename from Dockerfile rename to Dockerfile.server index 6eba7ef..4d750ef 100644 --- a/Dockerfile +++ b/Dockerfile.server @@ -3,14 +3,12 @@ FROM golang:alpine AS build-env WORKDIR /src ADD . /src RUN apk add --no-cache git make -RUN make +RUN make doh-server/doh-server FROM alpine:latest -COPY --from=build-env /src/doh-client/doh-client /doh-client COPY --from=build-env /src/doh-server/doh-server /doh-server -ADD doh-client/doh-client.conf /doh-client.conf ADD doh-server/doh-server.conf /doh-server.conf RUN sed -i '$!N;s/"127.0.0.1:8053",\s*"\[::1\]:8053",/":8053",/;P;D' /doh-server.conf