Add docker software to allow using dind enabled images

This commit is contained in:
Ian Baum 2018-10-12 10:23:32 +00:00 committed by Marin Jankovski
parent 90ff48b5f6
commit a0f6f84971
4 changed files with 37 additions and 0 deletions

View file

@ -84,6 +84,7 @@ ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6 test
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 test: *test_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6 test: *test_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 test: *test_custom
ruby-2.4.4-git-2.18-chrome-69.0-node-8.x-yarn-1.2-graphicsmagick-1.3.29-docker-18.06.1 test: *test_custom
# Not used anymore (?)
golang-1.9-git-2.9.0 test: *test_custom
@ -156,6 +157,7 @@ ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6: *bu
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29: *build_and_deploy_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6: *build_and_deploy_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29: *build_and_deploy_custom
ruby-2.4.4-git-2.18-chrome-69.0-node-8.x-yarn-1.2-graphicsmagick-1.3.29-docker-18.06.1: *build_and_deploy_custom
# Used by https://gitlab.com/gitlab-org/trello-power-up/blob/master/.gitlab-ci.yml (?)
node-8.9-chrome-63.0-yarn-1.2: *build_and_deploy_custom

View file

@ -53,6 +53,10 @@ ARG GRAPHISMAGICK_DOWNLOAD_URL=http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsM
ARG GRAPHISMAGICK_DOWNLOAD_SHA256
RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick && gm version; fi
# Docker
ARG DOCKER_VERSION
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en

View file

@ -148,6 +148,10 @@ function print_ansible_args() {
printf -- "--build-arg ANSIBLE_VERSION=%s " "$1"
}
function print_docker_args() {
printf -- "--build-arg DOCKER_VERSION=%s " "$1"
}
function print_terraform_args() {
case "$1" in
0.11)
@ -191,6 +195,7 @@ function parse_arguments() {
case "$image" in
golang) print_golang_args $version ;;
chrome) print_chrome_args $version ;;
docker) print_docker_args $version ;;
git) print_git_args $version ;;
node) print_node_args $version ;;
yarn) print_yarn_args $version ;;

26
scripts/install-docker Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
set -xeuo pipefail
export DEBIAN_FRONTEND=noninteractive
DOCKER_VERSION=${1}
apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list.d/docker.list
apt-get update
PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION} '$1 ~ dv {print $1}')
apt-get install -y docker-ce=${PACKAGE_VERSION}
apt-get -yq autoremove
apt-get clean -yqq
rm -rf /var/lib/apt/lists/*