github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/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.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  # 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 139850f3f3b17357bab5ba3edfb745fb14043764
    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