-
Notifications
You must be signed in to change notification settings - Fork 979
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add dot net core 2.1 curated image
* Upgrade Docker compose version * Install SSH client * Install build dependencies
- Loading branch information
1 parent
6e7b585
commit 3287e7e
Showing
24 changed files
with
603 additions
and
232 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
# | ||
# Licensed under the Amazon Software License (the "License"). You may not use this file except in compliance with the License. | ||
# A copy of the License is located at | ||
# | ||
# http://aws.amazon.com/asl/ | ||
# | ||
# or in the "license" file accompanying this file. | ||
# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. | ||
# See the License for the specific language governing permissions and limitations under the License. | ||
# | ||
|
||
FROM ubuntu:14.04.5 | ||
|
||
ENV DOCKER_BUCKET="download.docker.com" \ | ||
DOCKER_VERSION="17.09.0-ce" \ | ||
DOCKER_CHANNEL="stable" \ | ||
DOCKER_SHA256="a9e90a73c3cdfbf238f148e1ec0eaff5eb181f92f35bdd938fd7dab18e1c4647" \ | ||
DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" \ | ||
DOCKER_COMPOSE_VERSION="1.21.2" \ | ||
GITVERSION_VERSION="3.6.5" | ||
|
||
# Install git, SSH, and other utilities | ||
RUN set -ex \ | ||
&& echo 'Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/99use-gzip-compression \ | ||
&& apt-get update \ | ||
&& apt-get install software-properties-common -y --no-install-recommends \ | ||
&& apt-add-repository ppa:git-core/ppa \ | ||
&& apt-get update \ | ||
&& apt-get install git=1:2.* -y --no-install-recommends \ | ||
&& git version \ | ||
&& apt-get install -y --no-install-recommends openssh-client=1:6.6* \ | ||
&& mkdir ~/.ssh \ | ||
&& touch ~/.ssh/known_hosts \ | ||
&& ssh-keyscan -t rsa,dsa -H github.com >> ~/.ssh/known_hosts \ | ||
&& ssh-keyscan -t rsa,dsa -H bitbucket.org >> ~/.ssh/known_hosts \ | ||
&& chmod 600 ~/.ssh/known_hosts \ | ||
&& apt-get install -y --no-install-recommends \ | ||
wget=1.15-* python=2.7.* python2.7-dev=2.7.* fakeroot=1.20-* ca-certificates \ | ||
tar=1.27.* gzip=1.6-* zip=3.0-* autoconf=2.69-* automake=1:1.14.* \ | ||
bzip2=1.0.* file=1:5.14-* g++=4:4.8.* gcc=4:4.8.* imagemagick=8:6.7.* \ | ||
libbz2-dev=1.0.* libc6-dev=2.19-* libcurl4-openssl-dev=7.35.* libdb-dev=1:5.3.* \ | ||
libevent-dev=2.0.* libffi-dev=3.1~* libgeoip-dev=1.6.* libglib2.0-dev=2.40.* \ | ||
libjpeg-dev=8c-* libkrb5-dev=1.12+* liblzma-dev=5.1.* \ | ||
libmagickcore-dev=8:6.7.* libmagickwand-dev=8:6.7.* libmysqlclient-dev=5.5.* \ | ||
libncurses5-dev=5.9+* libpng12-dev=1.2.* libpq-dev=9.3.* libreadline-dev=6.3-* \ | ||
libsqlite3-dev=3.8.* libssl-dev=1.0.* libtool=2.4.* libwebp-dev=0.4.* \ | ||
libxml2-dev=2.9.* libxslt1-dev=1.1.* libyaml-dev=0.1.* make=3.81-* \ | ||
patch=2.7.* xz-utils=5.1.* zlib1g-dev=1:1.2.* unzip=6.0-* curl=7.35.* \ | ||
e2fsprogs=1.42.* iptables=1.4.* xfsprogs=3.1.* xz-utils=5.1.* \ | ||
mono-mcs=3.2.* less=458-* groff=1.22.* liberror-perl=0.17-* \ | ||
asciidoc=8.6.* build-essential=11.* bzr=2.6.* cvs=2:1.12.* cvsps=2.1-* docbook-xml=4.5-* docbook-xsl=1.78.* dpkg-dev=1.17.* \ | ||
libdbd-sqlite3-perl=1.40-* libdbi-perl=1.630-* libdpkg-perl=1.17.* libhttp-date-perl=6.02-* \ | ||
libio-pty-perl=1:1.08-* libserf-1-1=1.3.* libsvn-perl=1.8.* libsvn1=1.8.* libtcl8.6=8.6.* libtimedate-perl=2.3000-* \ | ||
libunistring0=0.9.* libxml2-utils=2.9.* libyaml-perl=0.84-* python-bzrlib=2.6.* python-configobj=4.7.* \ | ||
sgml-base=1.26+* sgml-data=2.0.* subversion=1.8.* tcl=8.6.* tcl8.6=8.6.* xml-core=0.13+* xmlto=0.0.* xsltproc=1.1.* \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& apt-get clean | ||
|
||
# Download and set up GitVersion | ||
RUN set -ex \ | ||
&& wget "https://github.com/GitTools/GitVersion/releases/download/v${GITVERSION_VERSION}/GitVersion_${GITVERSION_VERSION}.zip" -O /tmp/GitVersion_${GITVERSION_VERSION}.zip \ | ||
&& mkdir -p /usr/local/GitVersion_${GITVERSION_VERSION} \ | ||
&& unzip /tmp/GitVersion_${GITVERSION_VERSION}.zip -d /usr/local/GitVersion_${GITVERSION_VERSION} \ | ||
&& rm /tmp/GitVersion_${GITVERSION_VERSION}.zip \ | ||
&& echo "mono /usr/local/GitVersion_${GITVERSION_VERSION}/GitVersion.exe /output json /showvariable \$1" >> /usr/local/bin/gitversion \ | ||
&& chmod +x /usr/local/bin/gitversion | ||
|
||
# Install Docker | ||
RUN set -ex \ | ||
&& curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \ | ||
&& echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - \ | ||
&& tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ \ | ||
&& rm docker.tgz \ | ||
&& docker -v \ | ||
# set up subuid/subgid so that "--userns-remap=default" works out-of-the-box | ||
&& addgroup dockremap \ | ||
&& useradd -g dockremap dockremap \ | ||
&& echo 'dockremap:165536:65536' >> /etc/subuid \ | ||
&& echo 'dockremap:165536:65536' >> /etc/subgid \ | ||
&& wget "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind \ | ||
&& curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose \ | ||
&& chmod +x /usr/local/bin/dind /usr/local/bin/docker-compose \ | ||
# Ensure docker-compose works | ||
&& docker-compose version | ||
|
||
# Install dependencies by all python images equivalent to buildpack-deps:jessie | ||
# on the public repos. | ||
|
||
RUN set -ex \ | ||
&& wget "https://bootstrap.pypa.io/2.6/get-pip.py" -O /tmp/get-pip.py \ | ||
&& python /tmp/get-pip.py \ | ||
&& pip install awscli==1.* \ | ||
&& rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
|
||
VOLUME /var/lib/docker | ||
|
||
COPY dockerd-entrypoint.sh /usr/local/bin/ | ||
|
||
# Install .NET CLI dependencies | ||
RUN set -ex \ | ||
&& apt-get update \ | ||
&& apt-get install -y --no-install-recommends \ | ||
libc6=2.19-* \ | ||
libcurl3=7.35.* \ | ||
libgcc1=1:4.9.* \ | ||
libgssapi-krb5-2=1.12* \ | ||
libicu52=52.1-* \ | ||
liblttng-ust0=2.4.* \ | ||
libssl1.0.0=1.0.* \ | ||
libunwind8=1.1-* \ | ||
libuuid1=2.20.* \ | ||
zlib1g=1:1.2.* \ | ||
software-properties-common=0.92.* \ | ||
&& add-apt-repository ppa:ubuntu-toolchain-r/test -y \ | ||
&& apt-get update \ | ||
&& apt-get install -y libstdc++6=8*\ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install .NET Core SDK | ||
ENV DOTNET_SDK_VERSION 2.1.300 | ||
ENV DOTNET_SDK_DOWNLOAD_URL https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz | ||
ENV DOTNET_SDK_DOWNLOAD_SHA 80a6bfb1db5862804e90f819c1adeebe3d624eae0d6147e5d6694333f0458afd7d34ce73623964752971495a310ff7fcc266030ce5aef82d5de7293d94d13770 | ||
|
||
RUN set -ex \ | ||
&& curl -SL $DOTNET_SDK_DOWNLOAD_URL --output dotnet.tar.gz \ | ||
&& echo "$DOTNET_SDK_DOWNLOAD_SHA dotnet.tar.gz" | sha512sum -c - \ | ||
&& mkdir -p /usr/share/dotnet \ | ||
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \ | ||
&& rm dotnet.tar.gz \ | ||
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet | ||
|
||
# Trigger the population of the local package cache | ||
ENV NUGET_XMLDOC_MODE skip | ||
RUN set -ex \ | ||
&& mkdir warmup \ | ||
&& cd warmup \ | ||
&& dotnet new \ | ||
&& cd .. \ | ||
&& rm -rf warmup \ | ||
&& rm -rf /tmp/NuGetScratch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/bin/sh | ||
set -e | ||
|
||
/usr/local/bin/dockerd \ | ||
--host=unix:///var/run/docker.sock \ | ||
--host=tcp://127.0.0.1:2375 \ | ||
--storage-driver=overlay &>/var/log/docker.log & | ||
|
||
|
||
tries=0 | ||
d_timeout=60 | ||
until docker info >/dev/null 2>&1 | ||
do | ||
if [ "$tries" -gt "$d_timeout" ]; then | ||
cat /var/log/docker.log | ||
echo 'Timed out trying to connect to internal docker host.' >&2 | ||
exit 1 | ||
fi | ||
tries=$(( $tries + 1 )) | ||
sleep 1 | ||
done | ||
|
||
eval "$@" |
Oops, something went wrong.