Install docker and buildx using official instructions

This commit is contained in:
Andrejs Cunskis 2023-02-14 06:03:11 +09:00
parent 65485241a6
commit 41165c16ff
No known key found for this signature in database
GPG key ID: 87CB75083F227241
4 changed files with 16 additions and 22 deletions

View file

@ -83,9 +83,8 @@ RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker "$DOCKER_VERSION";
# Docker buildx plugin
ARG BUILDX_VERSION
ARG BUILDX_DOWNLOAD_SHA256
RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx "$BUILDX_VERSION" "$BUILDX_DOWNLOAD_SHA256"; fi
RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx "$BUILDX_VERSION"; fi
# Bazelisk
ARG BAZELISK_VERSION

View file

@ -3,10 +3,10 @@
set -xeou pipefail
BUILDX_VERSION=${1}
BUILDX_DOWNLOAD_SHA256=${2}
BUILDX_DOWNLOAD_URL="https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-${TARGETARCH:-amd64}"
/scripts/download-file docker-buildx "$BUILDX_DOWNLOAD_URL" $BUILDX_DOWNLOAD_SHA256
PACKAGE_VERSION=$(apt-cache policy docker-buildx-plugin | awk -v dv=${BUILDX_VERSION} '$1 ~ dv {print $1}')
mkdir -p /usr/local/lib/docker/cli-plugins
chmod +x docker-buildx && mv docker-buildx /usr/local/lib/docker/cli-plugins/
apt-get update && apt-get install -y docker-buildx-plugin=${PACKAGE_VERSION}
apt-get -yq autoremove
apt-get clean -yqq

View file

@ -7,20 +7,24 @@ export DEBIAN_FRONTEND=noninteractive
DOCKER_VERSION=${1}
DEBIAN_VERSION=$(lsb_release -c -s)
apt-get update
apt-get -y install \
apt-get update && 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 https://download.docker.com/linux/debian ${DEBIAN_VERSION} stable" >> /etc/apt/sources.list.d/docker.list
mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
${DEBIAN_VERSION} stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
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} docker-ce-cli=${PACKAGE_VERSION}
apt-get install -y \
docker-ce=${PACKAGE_VERSION} \
docker-ce-cli=${PACKAGE_VERSION}
apt-get -yq autoremove
apt-get clean -yqq
rm -rf /var/lib/apt/lists/*

View file

@ -174,29 +174,20 @@ function print_docker_args() {
}
function print_buildx_args() {
declare -A BUILDX_DOWNLOAD_SHA256
case "$1" in
0.8)
BUILDX_VERSION=0.8.2
BUILDX_DOWNLOAD_SHA256[amd64]=c64de4f3c30f7a73ff9db637660c7aa0f00234368105b0a09fa8e24eebe910c3
BUILDX_DOWNLOAD_SHA256[arm64]=304d3d9822c75f98ad9cf57f0c234bcf326bbb96d791d551728cadd72a7a377f
;;
0.9)
BUILDX_VERSION=0.9.1
BUILDX_DOWNLOAD_SHA256[amd64]=a7fb95177792ca8ffc7243fad7bf2f33738b8b999a184b6201f002a63c43d136
BUILDX_DOWNLOAD_SHA256[arm64]=bbf6a76bf9aef9c5759ff225b97ce23a24fc11e4fa3cdcae36e5dcf1de2cffc5
;;
0.10)
BUILDX_VERSION=0.10.2
BUILDX_DOWNLOAD_SHA256[amd64]=ee5a5e3ebf5e5c73ac840993720bd1e72c4beb3b4ee9e85e2d6b4364cac87d89
BUILDX_DOWNLOAD_SHA256[arm64]=5f6c706833221cd2cae267ac8612c1809f9d7e8f3fe87707ae86cb695c560cd9
;;
*) fail "Unknown buildx version $1" ;;
esac
printf -- "--build-arg BUILDX_VERSION=%s " "$BUILDX_VERSION"
printf -- "--build-arg BUILDX_DOWNLOAD_SHA256=%q " "${BUILDX_DOWNLOAD_SHA256[*]}"
}
function print_graphicsmagick_args() {