Dockerfile.gccgo
2c53643b
 # This file describes the standard way to build Docker, using docker
 #
 # Usage:
 #
 # # Assemble the full dev environment. This is slow the first time.
 # docker build -t docker -f Dockerfile.gccgo .
 #
 
fab75bff
 FROM gcc:5.3
2c53643b
 
 # Packaged dependencies
 RUN apt-get update && apt-get install -y \
 	apparmor \
 	aufs-tools \
 	btrfs-tools \
 	build-essential \
 	curl \
 	git \
 	iptables \
50814a2b
 	jq \
2c53643b
 	net-tools \
 	libapparmor-dev \
 	libcap-dev \
 	libsqlite3-dev \
 	mercurial \
f27b5dda
 	net-tools \
2c53643b
 	parallel \
92756bdc
 	python-dev \
2c53643b
 	python-mock \
 	python-pip \
 	python-websocket \
 	--no-install-recommends
 
 # Get lvm2 source for compiling statically
 RUN git clone -b v2_02_103 https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2
 # see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
 
 # Compile and install lvm2
 RUN cd /usr/local/lvm2 \
 	&& ./configure --enable-static_link \
 	&& make device-mapper \
 	&& make install_device-mapper
 # see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
 
9b8d3286
 # install seccomp: the version shipped in jessie is too old
68bda672
 ENV SECCOMP_VERSION v2.3.0
8ce5d054
 RUN set -x \
     && export SECCOMP_PATH=$(mktemp -d) \
     && git clone https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \
     && ( \
         cd "$SECCOMP_PATH" \
         && git checkout "$SECCOMP_VERSION" \
         && ./autogen.sh \
         && ./configure --prefix=/usr \
         && make \
         && make install \
     ) \
     && rm -rf "$SECCOMP_PATH"
 
2c53643b
 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
 
 # Get the "docker-py" source so we can run their integration tests
db41c5f5
 ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece
2c53643b
 RUN git clone https://github.com/docker/docker-py.git /docker-py \
 	&& cd /docker-py \
 	&& git checkout -q $DOCKER_PY_COMMIT
 
 # Add an unprivileged user to be used for tests which need it
 RUN groupadd -r docker
 RUN useradd --create-home --gid docker unprivilegeduser
 
 VOLUME /var/lib/docker
 WORKDIR /go/src/github.com/docker/docker
8ce5d054
 ENV DOCKER_BUILDTAGS apparmor seccomp selinux
2c53643b
 
9c4570a9
 # Install runc
61c0f4bc
 ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa
9c4570a9
 RUN set -x \
 	&& export GOPATH="$(mktemp -d)" \
009399dc
 	&& git clone git://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
9c4570a9
 	&& cd "$GOPATH/src/github.com/opencontainers/runc" \
 	&& git checkout -q "$RUNC_COMMIT" \
009399dc
 	&& make static BUILDTAGS="seccomp apparmor selinux" \
 	&& cp runc /usr/local/bin/docker-runc
9c4570a9
 
 # Install containerd
c3e391f7
 ENV CONTAINERD_COMMIT 9dc2b3273db42c75368988a3885a3afd770069d9
9c4570a9
 RUN set -x \
 	&& export GOPATH="$(mktemp -d)" \
009399dc
 	&& git clone git://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
9c4570a9
 	&& cd "$GOPATH/src/github.com/docker/containerd" \
 	&& git checkout -q "$CONTAINERD_COMMIT" \
009399dc
 	&& make static \
 	&& cp bin/containerd /usr/local/bin/docker-containerd \
 	&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
 	&& cp bin/ctr /usr/local/bin/docker-containerd-ctr
9c4570a9
 
2c53643b
 # Wrap all commands in the "docker-in-docker" script to allow nested containers
 ENTRYPOINT ["hack/dind"]
 
 # Upload docker source
 COPY . /go/src/github.com/docker/docker