mirror of
https://github.com/rancher/os.git
synced 2025-07-05 11:06:13 +00:00
58 lines
2.1 KiB
Docker
58 lines
2.1 KiB
Docker
# This file describes the standard way to build libcompose, using docker
|
|
FROM golang:1.6.2
|
|
|
|
|
|
# virtualenv is necessary to run acceptance tests
|
|
RUN apt-get update && \
|
|
apt-get install -y iptables build-essential --no-install-recommends && \
|
|
apt-get install -y python-setuptools && \
|
|
easy_install pip && pip install virtualenv
|
|
|
|
# Install build dependencies
|
|
RUN go get github.com/aktau/github-release && \
|
|
go get golang.org/x/tools/cmd/cover && \
|
|
go get github.com/golang/lint/golint
|
|
|
|
# Which docker version to test on and what default one to use
|
|
ENV DOCKER_VERSIONS 1.9.1 1.10.3 1.11.0
|
|
ENV DEFAULT_DOCKER_VERSION 1.10.3
|
|
|
|
# Download docker
|
|
RUN set -e; \
|
|
for v in $(echo ${DOCKER_VERSIONS} | cut -f1); do \
|
|
if test "${v}" = "1.9.1" || test "${v}" = "1.10.3"; then \
|
|
mkdir -p /usr/local/bin/docker-${v}/; \
|
|
curl https://get.docker.com/builds/Linux/x86_64/docker-${v} -o /usr/local/bin/docker-${v}/docker; \
|
|
chmod +x /usr/local/bin/docker-${v}/docker; \
|
|
else \
|
|
curl https://get.docker.com/builds/Linux/x86_64/docker-${v}.tgz -o docker-${v}.tgz; \
|
|
tar xzf docker-${v}.tgz -C /usr/local/bin/; \
|
|
mv /usr/local/bin/docker /usr/local/bin/docker-${v}; \
|
|
rm docker-${v}.tgz; \
|
|
fi \
|
|
done
|
|
|
|
# Set the default Docker to be run
|
|
RUN ln -s /usr/local/bin/docker-${DEFAULT_DOCKER_VERSION} /usr/local/bin/docker
|
|
|
|
WORKDIR /go/src/github.com/docker/libcompose
|
|
|
|
# Compose COMMIT for acceptance test version, update that commit when
|
|
# you want to update the acceptance test version to support.
|
|
ENV COMPOSE_COMMIT e2cb7b0237085415ce48900309a61c73b5938520
|
|
RUN virtualenv venv && \
|
|
git clone https://github.com/docker/compose.git venv/compose && \
|
|
cd venv/compose && \
|
|
git checkout -q "$COMPOSE_COMMIT" && \
|
|
../bin/pip install \
|
|
-r requirements.txt \
|
|
-r requirements-dev.txt
|
|
|
|
ENV COMPOSE_BINARY /go/src/github.com/docker/libcompose/libcompose-cli
|
|
ENV USER root
|
|
|
|
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
|
ENTRYPOINT ["script/dind"]
|
|
|
|
COPY . /go/src/github.com/docker/libcompose
|