Просмотр исходного кода

dockerfile: Use multi-stage build for much smaller sizes

pull/4/head
Daniel Oaks 6 лет назад
Родитель
Сommit
5922eae0f6
1 измененных файлов: 13 добавлений и 5 удалений
  1. 13
    5
      Dockerfile

+ 13
- 5
Dockerfile Просмотреть файл

@@ -1,6 +1,5 @@
1
-FROM golang:rc
2
-
3
-EXPOSE 6667/tcp 6697/tcp
1
+# build Oragono
2
+FROM golang:rc AS build-env
4 3
 
5 4
 RUN apt-get install -y git
6 5
 
@@ -10,8 +9,17 @@ WORKDIR /go/src/github.com/oragono
10 9
 RUN git clone https://github.com/oragono/oragono.git
11 10
 WORKDIR /go/src/github.com/oragono/oragono
12 11
 RUN git submodule update --init
13
-RUN go build oragono.go
12
+RUN make linux
13
+
14
+# run in Alpine, being a lightweight distro
15
+FROM alpine:latest
16
+EXPOSE 6667/tcp 6697/tcp
17
+
18
+RUN mkdir -p /ircd
19
+WORKDIR /ircd
14 20
 
15
-COPY run.sh /go/src/github.com/oragono/oragono
21
+COPY --from=build-env /go/src/github.com/oragono/oragono/build/oragono-XXX-linux.tgz /
22
+RUN tar -xzf /oragono-XXX-linux.tgz
23
+COPY run.sh /ircd
16 24
 
17 25
 CMD ["./run.sh"]

Загрузка…
Отмена
Сохранить