|
1 | | -FROM golang:1.9.6 AS build |
| 1 | +FROM golang:1.11.0-alpine AS build |
2 | 2 | ADD . /src |
3 | 3 | WORKDIR /src |
4 | | -RUN go get -d -v -t |
5 | | -RUN go test --cover ./... --run UnitTest |
6 | | -RUN go build -v -o docker-flow-proxy |
| 4 | +RUN set -x \ |
| 5 | + && apk add --update --no-cache --no-progress git g++ \ |
| 6 | + && go get -d -v -t \ |
| 7 | + && go test --cover ./... --run UnitTest \ |
| 8 | + && go build -v -o docker-flow-proxy |
7 | 9 |
|
8 | 10 |
|
9 | | -FROM haproxy:1.8.8-alpine |
10 | | -MAINTAINER Viktor Farcic <viktor@farcic.com> |
| 11 | +FROM haproxy:1.8.13-alpine |
| 12 | +LABEL org.opencontainers.image.title="Docker Flow Proxy" \ |
| 13 | + org.opencontainers.image.description="Automated HAProxy Reverse Proxy for Docker" \ |
| 14 | + org.opencontainers.image.url="https://proxy.dockerflow.com" \ |
| 15 | + org.opencontainers.image.licenses="MIT" \ |
| 16 | + org.opencontainers.image.authors="Viktor Farcic <viktor@farcic.com>" \ |
| 17 | + org.opencontainers.image.source="https://github.com/docker-flow/docker-flow-proxy" |
11 | 18 |
|
12 | | -RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 |
13 | | -RUN mkdir -p /cfg/tmpl /templates /certs /logs |
| 19 | +RUN apk --update --no-cache --no-progress add tini \ |
| 20 | + && mkdir -p /cfg/tmpl /templates /certs /logs |
14 | 21 |
|
15 | 22 | ENV CERTS="" \ |
16 | 23 | CAPTURE_REQUEST_HEADER="" \ |
@@ -39,21 +46,20 @@ ENV CERTS="" \ |
39 | 46 | TIMEOUT_HTTP_REQUEST="5" TIMEOUT_HTTP_KEEP_ALIVE="15" TIMEOUT_CLIENT="20" TIMEOUT_CONNECT="5" TIMEOUT_QUEUE="30" TIMEOUT_SERVER="20" TIMEOUT_TUNNEL="3600" \ |
40 | 47 | USERS="" \ |
41 | 48 | SKIP_ADDRESS_VALIDATION="true" \ |
42 | | - SSL_BIND_OPTIONS="no-sslv3" SSL_BIND_CIPHERS="ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS" |
| 49 | + SSL_BIND_OPTIONS="ssl-min-ver TLSv1.2 no-tls-tickets" \ |
| 50 | + SSL_BIND_CIPHERS="ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:EECDH+AESGCM:EDH+AESGCM" |
43 | 51 |
|
44 | | -EXPOSE 80 |
45 | | -EXPOSE 443 |
46 | | -EXPOSE 8080 |
| 52 | +EXPOSE 80 \ |
| 53 | + 443 \ |
| 54 | + 8080 |
47 | 55 |
|
48 | | -RUN apk --no-cache add tini |
49 | 56 | ENTRYPOINT ["/sbin/tini", "-g", "--"] |
50 | 57 | CMD ["docker-flow-proxy", "server"] |
51 | 58 | HEALTHCHECK --interval=5s --start-period=3s --timeout=10s CMD check.sh |
52 | 59 |
|
53 | 60 | COPY scripts/check.sh /usr/local/bin/check.sh |
54 | | -RUN chmod +x /usr/local/bin/check.sh |
55 | 61 | COPY errorfiles /errorfiles |
56 | 62 | COPY haproxy.cfg /cfg/haproxy.cfg |
57 | 63 | COPY haproxy.tmpl /cfg/tmpl/haproxy.tmpl |
58 | 64 | COPY --from=build /src/docker-flow-proxy /usr/local/bin/docker-flow-proxy |
59 | | -RUN chmod +x /usr/local/bin/docker-flow-proxy |
| 65 | +RUN chmod +x /usr/local/bin/docker-flow-proxy /usr/local/bin/check.sh |
0 commit comments