github.com/endocode/docker@v1.4.2-0.20160113120958-46eb4700391e/Dockerfile.gccgo (about) 1 # This file describes the standard way to build Docker, using docker 2 # 3 # Usage: 4 # 5 # # Assemble the full dev environment. This is slow the first time. 6 # docker build -t docker -f Dockerfile.gccgo . 7 # 8 9 FROM gcc:5.3 10 11 # Packaged dependencies 12 RUN apt-get update && apt-get install -y \ 13 apparmor \ 14 aufs-tools \ 15 btrfs-tools \ 16 build-essential \ 17 curl \ 18 git \ 19 iptables \ 20 jq \ 21 net-tools \ 22 libapparmor-dev \ 23 libcap-dev \ 24 libsqlite3-dev \ 25 mercurial \ 26 parallel \ 27 python-dev \ 28 python-mock \ 29 python-pip \ 30 python-websocket \ 31 --no-install-recommends 32 33 # Get lvm2 source for compiling statically 34 RUN git clone -b v2_02_103 https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2 35 # see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags 36 37 # Compile and install lvm2 38 RUN cd /usr/local/lvm2 \ 39 && ./configure --enable-static_link \ 40 && make device-mapper \ 41 && make install_device-mapper 42 # see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL 43 44 # install seccomp 45 # this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed, 46 # we need libseccomp.a (which the package does not provide) for dockerinit 47 ENV SECCOMP_VERSION v2.2.3 48 RUN set -x \ 49 && export SECCOMP_PATH=$(mktemp -d) \ 50 && git clone https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \ 51 && ( \ 52 cd "$SECCOMP_PATH" \ 53 && git checkout "$SECCOMP_VERSION" \ 54 && ./autogen.sh \ 55 && ./configure --prefix=/usr \ 56 && make \ 57 && make install \ 58 ) \ 59 && rm -rf "$SECCOMP_PATH" 60 61 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor 62 63 # Get the "docker-py" source so we can run their integration tests 64 ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece 65 RUN git clone https://github.com/docker/docker-py.git /docker-py \ 66 && cd /docker-py \ 67 && git checkout -q $DOCKER_PY_COMMIT 68 69 # Add an unprivileged user to be used for tests which need it 70 RUN groupadd -r docker 71 RUN useradd --create-home --gid docker unprivilegeduser 72 73 VOLUME /var/lib/docker 74 WORKDIR /go/src/github.com/docker/docker 75 ENV DOCKER_BUILDTAGS apparmor seccomp selinux 76 77 # Wrap all commands in the "docker-in-docker" script to allow nested containers 78 ENTRYPOINT ["hack/dind"] 79 80 # Upload docker source 81 COPY . /go/src/github.com/docker/docker