Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit ff56871

Browse files
authored
Merge pull request #83 from vieux/dockerfile
update Dockerfile to use multi-stage build
2 parents fee8bbd + 6b1c8c8 commit ff56871

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

Dockerfile

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,31 @@
1-
FROM golang:1.8
1+
FROM alpine:3.6 AS wget
2+
RUN apk add --no-cache ca-certificates wget tar
23

3-
ENV DOCKER_VERSION 17.04.0-ce
4-
ENV CUBERITE_BUILD 630
4+
FROM wget AS docker
5+
ARG DOCKER_VERSION=17.04.0-ce
6+
RUN wget -qO- https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz | \
7+
tar -xvz --strip-components=1 -C /bin
58

6-
# Copy latest docker client(s)
7-
RUN curl -sSL -o docker.tgz https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz &&\
8-
tar -xvf docker.tgz --strip-components=1 -C /bin && rm docker.tgz &&\
9-
chmod +x /bin/docker-* &&\
10-
ln -s /bin/docker /bin/docker-${DOCKER_VERSION}
11-
12-
# Download Cuberite server (Minecraft C++ server)
9+
FROM wget AS cuberite
10+
ARG CUBERITE_BUILD=630
1311
WORKDIR /srv
14-
RUN curl "https://builds.cuberite.org/job/Cuberite Linux x64 Master/${CUBERITE_BUILD}/artifact/Cuberite.tar.gz" | tar -xzf -
12+
RUN wget -qO- "https://builds.cuberite.org/job/Cuberite Linux x64 Master/${CUBERITE_BUILD}/artifact/Cuberite.tar.gz" |\
13+
tar -xzf -
14+
15+
FROM golang:1.8 AS dockercraft
16+
WORKDIR /go/src/github.com/docker/dockercraft
17+
COPY . .
18+
RUN go install
19+
20+
FROM debian:jessie
21+
COPY --from=dockercraft /go/bin/dockercraft /bin
22+
COPY --from=docker /bin/docker /bin
23+
COPY --from=cuberite /srv /srv
1524

1625
# Copy Dockercraft config and plugin
1726
COPY ./config /srv/Server
1827
COPY ./docs/img/logo64x64.png /srv/Server/favicon.png
1928
COPY ./Docker /srv/Server/Plugins/Docker
2029

21-
# Copy Go code and install
22-
WORKDIR /go/src/github.com/docker/dockercraft
23-
COPY . .
24-
RUN go install
25-
2630
EXPOSE 25565
27-
2831
ENTRYPOINT ["/srv/Server/start.sh"]
29-

0 commit comments

Comments
 (0)