Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit 3f4d8af

Browse files
Vanuanthebsdbox
authored andcommitted
Add multistage Dockerfile (#909)
Signed-off-by: vanuan <[email protected]>
1 parent 342ffc7 commit 3f4d8af

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

dockerfiles/Dockerfile.multistage

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM golang:1.10.0-alpine3.7
2+
RUN apk add --update git make gcc musl-dev wget ca-certificates openssl libvirt-dev libvirt-static libvirt-lxc libvirt-qemu git openssh file
3+
ENV GOPATH /go
4+
ENV PATH /go/bin:$PATH
5+
COPY dockerfiles/build-infrakit /usr/local/bin/
6+
# Add source code
7+
Add . /go/src/github.com/docker/infrakit/
8+
WORKDIR /go/src/github.com/docker/infrakit
9+
RUN mkdir ./build && make binaries
10+
11+
12+
FROM alpine:latest
13+
RUN apk add --update wget ca-certificates openssl libvirt-dev libvirt-static openssh file
14+
# server-side dirs
15+
RUN mkdir -p /.infrakit/plugins /.infrakit/configs /.infrakit/logs /.infrakit/instance/terraform
16+
# Default single node leader file
17+
RUN echo manager1 > /.infrakit/leader
18+
VOLUME /.infrakit
19+
WORKDIR /.infrakit
20+
ENV INFRAKIT_HOME /.infrakit
21+
# Defined in pkg/discovery
22+
ENV INFRAKIT_PLUGINS_DIR /.infrakit/plugins
23+
# When using the manager 'os' option
24+
ENV INFRAKIT_LEADER_FILE /.infrakit/leader
25+
ENV INFRAKIT_STORE_DIR /.infrakit/configs
26+
# client-side dirs
27+
RUN mkdir -p /.infrakit-session/playbook-cache /.infrakit-session/cli
28+
# Defined in pkg/cli
29+
ENV INFRAKIT_CLI_DIR /.infrakit-session/cli
30+
# Defined in pkg/cli
31+
ENV INFRAKIT_CLI_DIR /.infrakit-session/cli
32+
# Defined in cmd/.infrakit/playbook
33+
ENV INFRAKIT_PLAYBOOKS_FILE /.infrakit-session/playbooks.yml
34+
ENV INFRAKIT_PLAYBOOKS_CACHE /.infrakit-session/playbook-cache
35+
COPY --from=0 /go/src/github.com/docker/infrakit/build/* /usr/local/bin/

0 commit comments

Comments
 (0)