Optimize docker image

This commit is contained in:
Vikram Rangnekar 2019-03-27 00:14:07 -04:00
parent 775d5496cd
commit f1a8610e27
2 changed files with 44 additions and 3 deletions

View File

@ -1,14 +1,31 @@
FROM golang:1.12-stretch as builder FROM golang:1.12-alpine as builder
RUN apk update && \
apk add --no-cache git && \
apk add --no-cache upx=3.95-r1
COPY . /app COPY . /app
WORKDIR /app WORKDIR /app
ENV GO111MODULE=on ENV GO111MODULE=on
RUN CGO_ENABLED=0 GOOS=linux go build -o service RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o service && \
upx --ultra-brute -qq service && \
upx -t service
RUN go get github.com/pilu/fresh RUN go get github.com/pilu/fresh
#second stage #second stage
FROM alpine:latest FROM alpine:latest
WORKDIR /app WORKDIR /app
RUN apk add --no-cache tzdata RUN apk add --no-cache tzdata
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /app . COPY --from=builder /app/service .
COPY web/build /app/web/build/
COPY dev.yml .
RUN chmod +x /app/service
USER nobody
EXPOSE 8080
CMD ./service CMD ./service

24
docker-compose.image.yml Normal file
View File

@ -0,0 +1,24 @@
version: '3.4'
services:
db:
image: postgres
super_graph:
image: dosco/super-graph:latest
environment:
GO_ENV: "development"
depends_on:
- db
ports:
- "8080:8080"
web:
build: example/.
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- ./example:/app
ports:
- "3000:3000"
depends_on:
- db
- super_graph