# Last version: https://github.com/docker-library/ruby/blob/99def14400fcd612782367830836dfcbc10c8c50/2.1/Dockerfile FROM ruby:2.1.10 # Add Jessie repos # Fixes https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list # Make apt non-interactive RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \ && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci ENV DEBIAN_FRONTEND=noninteractive # Install required packages RUN set -ex; \ apt-get update; \ mkdir -p /usr/share/man/man1; \ apt-get install --force-yes --no-install-recommends \ git mercurial xvfb \ locales sudo openssh-client ca-certificates tar gzip parallel \ net-tools netcat unzip zip bzip2 gnupg curl wget \ tzdata rsync vim; \ rm -rf /var/lib/apt/lists/*; # Set timezone to UTC by default RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime # Set language RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en # Install jq RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \ && chmod +x /usr/bin/jq \ && jq --version # Install Docker RUN set -ex \ && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \ && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \ && echo Docker URL: $DOCKER_URL \ && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \ && ls -lha /tmp/docker.tgz \ && tar -xz -C /tmp -f /tmp/docker.tgz \ && mv /tmp/docker/* /usr/bin \ && rm -rf /tmp/docker /tmp/docker.tgz \ && which docker \ && (docker version || true) # Install Docker Compose RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \ && chmod +x /usr/bin/docker-compose \ && docker-compose version # Install Dockerize RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \ && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \ && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \ && rm -rf /tmp/dockerize-linux-amd64.tar.gz \ && dockerize --version # Install Protobuf compiler RUN export PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip" \ && echo Protoc URL: $PROTOC_URL \ && curl --silent --show-error --location --fail --retry 3 --output /tmp/protoc.zip "${PROTOC_URL}" \ && ls -lha /tmp/protoc.zip \ && unzip /tmp/protoc.zip -d /tmp/protoc \ && mv /tmp/protoc/bin/* /usr/bin \ && rm -rf /tmp/protoc /tmp/protoc.zip \ && protoc --version # Install RubyGems RUN gem update --system 2.7.9 RUN gem install bundler -v '1.17.3' ENV BUNDLE_SILENCE_ROOT_WARNING 1 RUN mkdir /app WORKDIR /app CMD ["/bin/sh"]