Skip to content

Commit 9e0883b

Browse files
authored
install buildx from docker/buildx-bin:latest (#399)
1 parent 49e38a1 commit 9e0883b

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed
Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
FROM public.ecr.aws/amazoncorretto/amazoncorretto:8
22

3-
ARG ARCHITECTURE="amd64"
4-
5-
ENV DOCKER_CLI_PLUGIN_DIR="/root/.docker/cli-plugins"
6-
ENV PATH="$PATH:/tmp/apache-maven-3.8.7/bin"
7-
3+
# Install docker and buildx extension
84
RUN amazon-linux-extras enable docker && \
95
yum clean metadata && \
10-
yum install -y docker tar gzip unzip file wget
6+
yum install -y docker tar gzip unzip file
117

12-
RUN mkdir -p "${DOCKER_CLI_PLUGIN_DIR}"
13-
RUN wget \
14-
"$(curl https://api.github.com/repos/docker/buildx/releases/latest | grep browser_download_url | grep "linux-${ARCHITECTURE}" | cut -d '"' -f 4)" \
15-
-O "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
16-
RUN chmod +x "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
8+
COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/docker-buildx
179

18-
WORKDIR /tmp
19-
RUN curl -O https://archive.apache.org/dist/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz && \
20-
tar xf apache-maven-3.8.7-bin.tar.gz
10+
# Install maven from apache.org, as version in the yum repository doesn't support latest maven plugins
11+
ENV PATH="$PATH:/apache-maven/bin"
12+
RUN mkdir /apache-maven && \
13+
curl https://archive.apache.org/dist/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz | \
14+
tar -xz -C /apache-maven --strip-components 1

aws-lambda-java-runtime-interface-client/test/integration/codebuild/scripts/configure_multi_arch_env.sh

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,17 @@ set -euo pipefail
66
echo "Setting up multi-arch build environment"
77
ARCHITECTURE=$(arch)
88
if [[ "$ARCHITECTURE" == "x86_64" ]]; then
9-
ARCHITECTURE_ALIAS="amd64"
109
TARGET_EMULATOR="arm64"
1110
elif [[ "$ARCHITECTURE" == "aarch64" ]]; then
12-
ARCHITECTURE_ALIAS="arm64"
1311
TARGET_EMULATOR="amd64"
1412
else
1513
echo "Architecture $ARCHITECTURE is not currently supported."
1614
exit 1
1715
fi
16+
1817
echo "Installing ${TARGET_EMULATOR} emulator"
1918
docker pull public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v6.1.0
2019
docker run --rm --privileged public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v6.1.0 --install ${TARGET_EMULATOR}
21-
# Install buildx plugin only if not already present (i.e. it's installed for the local-agent)
22-
if [[ ! -f "${DOCKER_CLI_PLUGIN_DIR}/docker-buildx" ]]; then
23-
echo "docker-buildx not found, installing now"
24-
mkdir -p "${DOCKER_CLI_PLUGIN_DIR}"
25-
BUILDX_URL=$(curl https://api.github.com/repos/docker/buildx/releases/latest | grep browser_download_url | grep "linux-${ARCHITECTURE_ALIAS}" | cut -d '"' -f 4)
26-
wget "${BUILDX_URL}" -O "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
27-
chmod +x "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
28-
fi
2920
echo "Setting docker build command to default to buildx"
21+
echo "Docker buildx version: $(docker buildx version)"
3022
docker buildx install

0 commit comments

Comments
 (0)