github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/Dockerfile.ppc64le (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.ppc64le . 7 # 8 9 FROM ppc64le/gcc:5.2 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 RUN rm -rf /usr/local/lvm2 34 RUN git clone --no-checkout git://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2 && cd /usr/local/lvm2 && git checkout -q v2_02_103 35 RUN curl -o /usr/local/lvm2/autoconf/config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' 36 RUN curl -o /usr/local/lvm2/autoconf/config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' 37 38 # Compile and install lvm2 39 RUN cd /usr/local/lvm2 \ 40 && ./configure --enable-static_link \ 41 && make device-mapper \ 42 && make install_device-mapper 43 44 ENV GOPATH /go:/go/src/github.com/docker/docker/vendor 45 46 ENV REGISTRY_COMMIT ec87e9b6971d831f0eff752ddb54fb64693e51cd 47 RUN set -x \ 48 && export GOPATH="$(mktemp -d)" \ 49 && git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \ 50 && (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \ 51 && GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \ 52 go build -o /usr/local/bin/registry-v2 github.com/docker/distribution/cmd/registry \ 53 && rm -rf "$GOPATH" 54 55 # Install notary server 56 ENV NOTARY_COMMIT 8e8122eb5528f621afcd4e2854c47302f17392f7 57 RUN set -x \ 58 && export GOPATH="$(mktemp -d)" \ 59 && git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \ 60 && (cd "$GOPATH/src/github.com/docker/notary" && git checkout -q "$NOTARY_COMMIT") \ 61 && GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \ 62 go build -o /usr/local/bin/notary-server github.com/docker/notary/cmd/notary-server \ 63 && rm -rf "$GOPATH" 64 65 # Get the "docker-py" source so we can run their integration tests 66 ENV DOCKER_PY_COMMIT 47ab89ec2bd3bddf1221b856ffbaff333edeabb4 67 RUN git clone https://github.com/docker/docker-py.git /docker-py \ 68 && cd /docker-py \ 69 && git checkout -q $DOCKER_PY_COMMIT \ 70 && pip install -r test-requirements.txt 71 72 # Add an unprivileged user to be used for tests which need it 73 RUN groupadd -r docker 74 RUN useradd --create-home --gid docker unprivilegeduser 75 76 VOLUME /var/lib/docker 77 WORKDIR /go/src/github.com/docker/docker 78 ENV DOCKER_BUILDTAGS apparmor selinux 79 80 ENV IMAGEREPO ppc64le 81 COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/ 82 RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \ 83 $IMAGEREPO/busybox:latest \ 84 $IMAGEREPO/hello-world:frozen \ 85 $IMAGEREPO/unshare:latest 86 87 # Wrap all commands in the "docker-in-docker" script to allow nested containers 88 ENTRYPOINT ["hack/dind"] 89 90 # Upload docker source 91 COPY . /go/src/github.com/docker/docker