瀏覽代碼

dockerfile: Use multi-stage build for much smaller sizes

pull/4/head
Daniel Oaks 6 年之前
父節點
當前提交
5922eae0f6
共有 1 個文件被更改,包括 13 次插入5 次删除
  1. 13
    5
      Dockerfile

+ 13
- 5
Dockerfile 查看文件

1
-FROM golang:rc
2
-
3
-EXPOSE 6667/tcp 6697/tcp
1
+# build Oragono
2
+FROM golang:rc AS build-env
4
 
3
 
5
 RUN apt-get install -y git
4
 RUN apt-get install -y git
6
 
5
 
10
 RUN git clone https://github.com/oragono/oragono.git
9
 RUN git clone https://github.com/oragono/oragono.git
11
 WORKDIR /go/src/github.com/oragono/oragono
10
 WORKDIR /go/src/github.com/oragono/oragono
12
 RUN git submodule update --init
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
 CMD ["./run.sh"]
25
 CMD ["./run.sh"]

Loading…
取消
儲存