@@ -21,36 +21,34 @@ ENV RUBY_VERSION="2.6.5" \
2121 NODE_8_VERSION="8.16.0" \
2222 GOLANG_VERSION="1.13.15" \
2323 GOLANG_12_VERSION="1.12.9" \
24- DOCKER_18_VERSION="18.09.6" \
25- DOCKER_VERSION="19.03.11" \
24+ DOCKER_VERSION="20.10.9" \
2625 DOCKER_COMPOSE_VERSION="1.26.0"
2726
2827ARG CHINA_REGION
2928
3029# **************** Utilities *********************************************
3130ENV DOCKER_BUCKET="download.docker.com" \
3231 DOCKER_CHANNEL="stable" \
33- DOCKER_18_SHA256="c4857639514471e2d1aa6d567880b7fc226437ede462021ed44157d4dcd11dc8" \
34- DOCKER_SHA256="9cd49fe82f6b7ec413b04daef35bc0c87b01d6da67611e5beef36291538d3145" \
32+ DOCKER_SHA256="0259f8b6572f02cf0dafd7388ca0e4adfdbbfaba81cfb1b7443e89fccbed22c7" \
3533 DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" \
3634 DEBIAN_FRONTEND="noninteractive" \
3735 SRC_DIR="/usr/src" \
3836 EPEL_REPO="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm"
3937
4038# Install git, SSH, and other utilities
4139RUN set -ex \
42- && yum install -y openssh-clients \
40+ && yum install -yq openssh-clients \
4341 && mkdir ~/.ssh \
4442 && touch ~/.ssh/known_hosts \
4543 && ssh-keyscan -t rsa,dsa -H github.com >> ~/.ssh/known_hosts \
4644 && ssh-keyscan -t rsa,dsa -H bitbucket.org >> ~/.ssh/known_hosts \
4745 && chmod 600 ~/.ssh/known_hosts \
48- && yum install -y $EPEL_REPO \
46+ && yum install -yq $EPEL_REPO \
4947 && rpm --import https://download.mono-project.com/repo/xamarin.gpg \
5048 && curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo \
5149 && amazon-linux-extras enable corretto8 \
52- && yum groupinstall -y "Development tools" \
53- && yum install -y wget fakeroot jq \
50+ && yum groupinstall -yq "Development tools" \
51+ && yum install -yq wget fakeroot jq \
5452 bzr mercurial procps-ng \
5553 ImageMagick \
5654 openssl-devel libdb-devel \
@@ -76,51 +74,34 @@ RUN set -ex \
7674 && GIT_TAR_FILE=git-$GIT_VERSION.tar.gz \
7775 && GIT_SRC=https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz \
7876 && curl -L -o $GIT_TAR_FILE $GIT_SRC \
79- && tar zxvf $GIT_TAR_FILE \
77+ && tar zxf $GIT_TAR_FILE \
8078 && cd git-$GIT_VERSION \
8179 && make -j4 prefix=/usr \
8280 && make install prefix=/usr \
8381 && cd .. ; rm -rf git-$GIT_VERSION \
8482 && rm -rf $GIT_TAR_FILE /tmp/*
8583
8684# Install Docker
87- ENV DOCKER_18_PATH=/usr/local/bin/docker18
88- ENV DOCKER_PATH=/usr/local/bin/docker19
89-
9085RUN set -ex \
91- # for old version (docker 18)
92- && mkdir $DOCKER_18_PATH; cd $DOCKER_18_PATH; curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/aarch64/docker-${DOCKER_18_VERSION}.tgz" -o docker.tgz \
93- && echo "${DOCKER_18_SHA256} *docker.tgz" | sha256sum -c - \
94- && tar --extract --file docker.tgz --strip-components 1 --directory $DOCKER_18_PATH \
95- && rm docker.tgz \
96- && for tool_path in $DOCKER_18_PATH/*; do \
97- tool=`basename $tool_path`; \
98- update-alternatives --install /usr/local/bin/$tool $tool $tool_path 10000; \
99- done \
100- # for new version (docker 19)
101- && mkdir $DOCKER_PATH; cd $DOCKER_PATH ; curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/aarch64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
86+ && curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/aarch64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
10287 && echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - \
103- && tar --extract --file docker.tgz --strip-components 1 --directory $DOCKER_PATH \
88+ && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ \
10489 && rm docker.tgz \
105- && for tool_path in $DOCKER_PATH/*; do \
106- tool=`basename $tool_path`; \
107- update-alternatives --install /usr/local/bin/$tool $tool $tool_path 10000; \
108- update-alternatives --set $tool $tool_path; \
109- done \
11090 && docker -v \
111- # set up subuid/subgid so that "--userns-remap=default" works out-of-the-box
91+ # set up subuid/subgid so that "--userns-remap=default" works out-of-the-box
11292 && groupadd dockremap \
11393 && useradd -g dockremap dockremap \
11494 && echo 'dockremap:165536:65536' >> /etc/subuid \
11595 && echo 'dockremap:165536:65536' >> /etc/subgid \
116- && wget "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind \
96+ && wget -q "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind \
11797 && chmod +x /usr/local/bin/dind
11898
11999# AWS Tools
120100# https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html
121101RUN curl -sS -o /usr/local/bin/aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.8/2020-04-16/bin/linux/arm64/aws-iam-authenticator \
122102 && curl -sS -o /usr/local/bin/kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.8/2020-04-16/bin/linux/arm64/kubectl \
123- && chmod +x /usr/local/bin/kubectl /usr/local/bin/aws-iam-authenticator
103+ && curl -sS -o /usr/local/bin/ecs-cli https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-arm64-latest \
104+ && chmod +x /usr/local/bin/kubectl /usr/local/bin/aws-iam-authenticator /usr/local/bin/ecs-cli
124105
125106VOLUME /var/lib/docker
126107
@@ -129,7 +110,7 @@ COPY ssh_config /root/.ssh/config
129110
130111# Configure SSM
131112RUN set -ex \
132- && yum install -y https://s3.amazonaws.com/amazon-ssm-us-east-1/3.0.1390.0/linux_arm64/amazon-ssm-agent.rpm
113+ && yum install -yq https://s3.amazonaws.com/amazon-ssm-us-east-1/3.0.1390.0/linux_arm64/amazon-ssm-agent.rpm
133114COPY amazon-ssm-agent.json /etc/amazon/ssm/
134115
135116COPY runtimes.yml /codebuild/image/config/runtimes.yml
@@ -163,9 +144,9 @@ ENV PATH="/usr/local/bin:$PATH" \
163144 LC_ALL=C.UTF-8 \
164145 LANG=C.UTF-8
165146
166- RUN yum install -y tcl-devel tk-devel bzip2-devel gdbm-devel libuuid-devel \
167- && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_37_VERSION%%[a-z]*}/Python-$PYTHON_37_VERSION.tar.xz" \
168- && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_37_VERSION%%[a-z]*}/Python-$PYTHON_37_VERSION.tar.xz.asc" \
147+ RUN yum install -yq tcl-devel tk-devel bzip2-devel gdbm-devel libuuid-devel \
148+ && wget -qO python.tar.xz "https://www.python.org/ftp/python/${PYTHON_37_VERSION%%[a-z]*}/Python-$PYTHON_37_VERSION.tar.xz" \
149+ && wget -qO python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_37_VERSION%%[a-z]*}/Python-$PYTHON_37_VERSION.tar.xz.asc" \
169150 && export GNUPGHOME="$(mktemp -d)" \
170151 && (gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$GPG_KEY" \
171152 || gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "$GPG_KEY" \
@@ -187,7 +168,7 @@ RUN yum install -y tcl-devel tk-devel bzip2-devel gdbm-devel libuuid-devel \
187168 && ldconfig \
188169# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
189170 && if [ ! -e /usr/local/bin/pip3 ]; then \
190- wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
171+ wget -qO /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
191172 && /usr/local/python37/bin/python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
192173 && rm /tmp/get-pip.py ; \
193174 fi \
@@ -200,7 +181,7 @@ RUN yum install -y tcl-devel tk-devel bzip2-devel gdbm-devel libuuid-devel \
200181 /usr/local/python37/bin/pip3 install --no-cache-dir --upgrade --force-reinstall "pip==$PYTHON_PIP_VERSION" \
201182 && /usr/local/python37/bin/pip3 install pipenv virtualenv --no-cache-dir
202183
203- RUN /usr/local/python37/bin/pip3 install --no-cache-dir --upgrade setuptools wheel tox codecov \
184+ RUN /usr/local/python37/bin/pip3 install --no-cache-dir --upgrade ' setuptools==57.4.0' wheel tox codecov \
204185# then we use "pip list" to ensure we don't have more than one pip version installed
205186# https://github.com/docker-library/python/pull/100
206187 && [ "$(/usr/local/python37/bin/pip3 list |tac|tac| awk -F '[ ()]+' '$1 == " pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
@@ -224,7 +205,7 @@ RUN cd /usr/local/python37/bin \
224205
225206# **************** PYTHON 3.8 *********************************************
226207# extra dependencies (over what buildpack-deps already includes)
227- RUN yum install -y \
208+ RUN yum install -yq \
228209 tcl tcl-dev \
229210 tk tk-dev \
230211 uuid-dev \
@@ -235,8 +216,8 @@ ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
235216
236217RUN set -ex \
237218 \
238- && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
239- && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
219+ && wget -qO python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
220+ && wget -qO python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
240221 && export GNUPGHOME="$(mktemp -d)" \
241222 && (gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "$GPG_KEY" \
242223 || gpg --batch --keyserver pgp.mit.edu --recv-keys "$GPG_KEY" ) \
@@ -284,7 +265,7 @@ ENV PYTHON_GET_PIP_SHA256 8d412752ae26b46a39a201ec618ef9ef7656c5b2d8529cdcbe60cd
284265
285266RUN set -ex; \
286267 \
287- wget -O get-pip.py "$PYTHON_GET_PIP_URL" ; \
268+ wget -qO get-pip.py "$PYTHON_GET_PIP_URL" ; \
288269 echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum --check --strict -; \
289270 \
290271 /usr/local/python38/bin/python3 get-pip.py \
@@ -336,10 +317,10 @@ RUN cd /usr/local/python38/bin \
336317 RUN set -xe; \
337318 mkdir -p $SRC_DIR; \
338319 cd $SRC_DIR; \
339- yum install -y curl-devel; \
340- wget -O php.tar.xz "$PHP_URL" ; \
320+ yum install -yq curl-devel; \
321+ wget -qO php.tar.xz "$PHP_URL" ; \
341322 echo "$PHP_DOWNLOAD_SHA *php.tar.xz" | sha256sum -c -; \
342- wget -O php.tar.xz.asc "$PHP_ASC_URL" ; \
323+ wget -qO php.tar.xz.asc "$PHP_ASC_URL" ; \
343324 export GNUPGHOME="$(mktemp -d)" ; \
344325 for key in $GPG_KEYS; do \
345326 ( gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" \
@@ -349,7 +330,7 @@ RUN cd /usr/local/python38/bin \
349330 gpg --batch --verify php.tar.xz.asc php.tar.xz; \
350331 rm -rf "$GNUPGHOME" ; \
351332 set -eux; \
352- yum install -y libedit-devel dpkg-dev libargon2-devel re2c; \
333+ yum install -yq libedit-devel dpkg-dev libargon2-devel re2c; \
353334 export \
354335 CFLAGS="$PHP_CFLAGS" \
355336 CPPFLAGS="$PHP_CPPFLAGS" \
@@ -421,7 +402,7 @@ RUN cd /usr/local/python38/bin \
421402 && n $NODE_VERSION && npm install --save-dev -g grunt && npm install --save-dev -g grunt-cli && npm install --save-dev -g webpack \
422403 && curl -sSL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo \
423404 && rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg \
424- && yum install -y yarn \
405+ && yum install -yq yarn \
425406 && yarn --version \
426407 && cd / && rm -rf $N_SRC_DIR \
427408 && yum clean all
@@ -459,15 +440,15 @@ ENV JDK_DOWNLOAD_URL="https://d3pxv6yz143wms.cloudfront.net/${JDK_VERSION}/${JDK
459440
460441RUN set -ex \
461442 # Install Amazon Corretto 8
462- && yum -y update; yum -y install java-1.8.0-amazon-corretto-devel \
443+ && yum -yq update; yum -yq install java-1.8.0-amazon-corretto-devel \
463444 # Ensure Java cacerts symlink points to valid location
464445 && update-ca-trust \
465446 # Install Amazon Corretto 11
466447 # Note: We will use update-alternatives to make sure JDK11 has higher priority for all the tools
467448 && mkdir -p $JAVA_HOME \
468449 && curl -LSso /var/tmp/$JDK_DOWNLOAD_TAR $JDK_DOWNLOAD_URL \
469450 && echo "$JDK_DOWNLOAD_SHA256 /var/tmp/$JDK_DOWNLOAD_TAR" | sha256sum -c - \
470- && tar xzvf /var/tmp/$JDK_DOWNLOAD_TAR -C $JAVA_HOME --strip-components=1 \
451+ && tar xzf /var/tmp/$JDK_DOWNLOAD_TAR -C $JAVA_HOME --strip-components=1 \
471452 && for tool_path in $JAVA_HOME/bin/*; do \
472453 tool=`basename $tool_path`; \
473454 update-alternatives --install /usr/bin/$tool $tool $tool_path 10000; \
@@ -483,14 +464,14 @@ RUN set -ex \
483464 && mkdir -p $MAVEN_HOME \
484465 && curl -LSso /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz https://apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \
485466 && echo "$MAVEN_DOWNLOAD_SHA512 /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz" | sha512sum -c - \
486- && tar xzvf /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz -C $MAVEN_HOME --strip-components=1 \
467+ && tar xzf /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz -C $MAVEN_HOME --strip-components=1 \
487468 && update-alternatives --install /usr/bin/mvn mvn /opt/maven/bin/mvn 10000 \
488469 && mkdir -p $MAVEN_CONFIG \
489470 # Install Gradle
490471 && mkdir -p $GRADLE_PATH \
491472 && for version in $INSTALLED_GRADLE_VERSIONS; do { \
492- wget "https://services.gradle.org/distributions/gradle-$version-all.zip" -O "$GRADLE_PATH/gradle-$version-all.zip" \
493- && unzip "$GRADLE_PATH/gradle-$version-all.zip" -d /usr/local \
473+ wget -q "https://services.gradle.org/distributions/gradle-$version-all.zip" -O "$GRADLE_PATH/gradle-$version-all.zip" \
474+ && unzip -q "$GRADLE_PATH/gradle-$version-all.zip" -d /usr/local \
494475 && echo -e "$GRADLE_DOWNLOADS_SHA256" | grep "$version" | sed "s|$version|$GRADLE_PATH/gradle-$version-all.zip|" | sha256sum -c - \
495476 && mkdir "/tmp/gradle-$version" \
496477 && "/usr/local/gradle-$version/bin/gradle" -p "/tmp/gradle-$version" wrapper \
@@ -500,12 +481,12 @@ RUN set -ex \
500481 && if [ "$version" != "$GRADLE_VERSION" ]; then rm -rf "/usr/local/gradle-$version" ; fi; \
501482 }; done \
502483 # Install default GRADLE_VERSION to path
503- && ln -s /usr/local/gradle-$GRADLE_VERSION/bin/gradle /usr/bin/gradle \
504- && rm -rf $GRADLE_PATH \
484+ && ln -s /usr/local/gradle-$GRADLE_VERSION/bin/gradle /usr/bin/gradle \
485+ && rm -rf $GRADLE_PATH \
505486 # Install SBT
506487 && curl -fSL "https://github.com/sbt/sbt/releases/download/v${SBT_VERSION}/sbt-${SBT_VERSION}.tgz" -o sbt.tgz \
507488 && echo "${SBT_DOWNLOAD_SHA256} *sbt.tgz" | sha256sum -c - \
508- && tar xzvf sbt.tgz -C /usr/local/bin/ \
489+ && tar xzf sbt.tgz -C /usr/local/bin/ \
509490 && rm sbt.tgz
510491ENV PATH "/usr/local/bin/sbt/bin:$PATH"
511492RUN sbt version
@@ -523,12 +504,12 @@ ENV GOLANG_DOWNLOAD_SHA256="a5c59e3f0aeaf6e939790152a8bfabb91d70c9787afb7aee06ae
523504RUN set -ex \
524505 && mkdir -p "$GOPATH/src" "$GOPATH/bin" \
525506 && chmod -R 777 "$GOPATH" \
526- && wget "https://dl.google.com/go/go$GOLANG_VERSION.linux-arm64.tar.gz" -O /tmp/golang.tar.gz \
507+ && wget -q "https://dl.google.com/go/go$GOLANG_VERSION.linux-arm64.tar.gz" -O /tmp/golang.tar.gz \
527508 && echo "$GOLANG_DOWNLOAD_SHA256 /tmp/golang.tar.gz" | sha256sum -c - \
528509 && tar -xzf /tmp/golang.tar.gz -C /tmp \
529510 && mv /tmp/go /usr/local/go13 \
530511 && rm -fr /tmp/* /var/tmp/* \
531- && wget "https://github.com/golang/dep/releases/download/v$DEP_VERSION/$DEP_BINARY" -O "$GOPATH/bin/dep" \
512+ && wget -q "https://github.com/golang/dep/releases/download/v$DEP_VERSION/$DEP_BINARY" -O "$GOPATH/bin/dep" \
532513 && chmod +x "$GOPATH/bin/dep"
533514
534515RUN ln -s /usr/local/go13 /usr/local/go
@@ -540,7 +521,7 @@ ENV PATH="$GOPATH/bin:/usr/local/go/bin:$PATH"
540521ENV GOLANG_12_DOWNLOAD_SHA256="3606dc6ce8b4a5faad81d7365714a86b3162df041a32f44568418c9efbd7f646"
541522
542523RUN set -ex \
543- && wget "https://dl.google.com/go/go$GOLANG_12_VERSION.linux-arm64.tar.gz" -O /tmp/golang.tar.gz \
524+ && wget -q "https://dl.google.com/go/go$GOLANG_12_VERSION.linux-arm64.tar.gz" -O /tmp/golang.tar.gz \
544525 && echo "$GOLANG_12_DOWNLOAD_SHA256 /tmp/golang.tar.gz" | sha256sum -c - \
545526 && tar -xzf /tmp/golang.tar.gz -C /tmp \
546527 && mv /tmp/go /usr/local/go12 \
@@ -549,9 +530,9 @@ RUN set -ex \
549530# **************** END GO **********************************************************
550531
551532RUN set -ex \
552- && yum install -y openssl \
533+ && yum install -yq openssl \
553534 && curl -o stunnel-5.55.tar.gz https://www.stunnel.org/downloads/stunnel-5.55.tar.gz \
554- && tar xvfz stunnel-5.55.tar.gz \
535+ && tar xfz stunnel-5.55.tar.gz \
555536 && cd stunnel-5.55 \
556537 && ./configure \
557538 && make \
0 commit comments