Skip to content

Commit 2db9fd1

Browse files
authored
feat: add multi-architecture support for Envoy and Golang installation in Dockerfile (#264)
Signed-off-by: liuhy <[email protected]>
1 parent 726675c commit 2db9fd1

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

Dockerfile

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,27 @@ ENV PATH="/root/.cargo/bin:${PATH}"
2323

2424
# Install Envoy
2525
ENV ENVOY_VERSION=1.31.7
26-
RUN curl -OL https://github.com/envoyproxy/envoy/releases/download/${ENVOY_VERSION}/envoy-${ENVOY_VERSION}-linux-x86_64
27-
RUN chmod +x envoy-${ENVOY_VERSION}-linux-x86_64
28-
RUN mv envoy-${ENVOY_VERSION}-linux-x86_64 /usr/local/bin/envoy
29-
26+
RUN ARCH=$(uname -m) && \
27+
case ${ARCH} in \
28+
x86_64) ENVOY_ARCH="x86_64" ;; \
29+
aarch64|arm64) ENVOY_ARCH="aarch64" ;; \
30+
*) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \
31+
esac && \
32+
curl -OL https://github.com/envoyproxy/envoy/releases/download/v${ENVOY_VERSION}/envoy-${ENVOY_VERSION}-linux-${ENVOY_ARCH} && \
33+
chmod +x envoy-${ENVOY_VERSION}-linux-${ENVOY_ARCH} && \
34+
mv envoy-${ENVOY_VERSION}-linux-${ENVOY_ARCH} /usr/local/bin/envoy
35+
3036
# Install Golang
3137
ENV GOLANG_VERSION=1.24.1
32-
RUN curl -OL https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz && \
33-
tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz && \
34-
rm go${GOLANG_VERSION}.linux-amd64.tar.gz
38+
RUN ARCH=$(uname -m) && \
39+
case ${ARCH} in \
40+
x86_64) GO_ARCH="amd64" ;; \
41+
aarch64|arm64) GO_ARCH="arm64" ;; \
42+
*) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \
43+
esac && \
44+
curl -OL https://golang.org/dl/go${GOLANG_VERSION}.linux-${GO_ARCH}.tar.gz && \
45+
tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-${GO_ARCH}.tar.gz && \
46+
rm go${GOLANG_VERSION}.linux-${GO_ARCH}.tar.gz
3547
ENV PATH="/usr/local/go/bin:${PATH}"
3648
ENV GOPATH="/go"
3749
ENV PATH="/go/bin:${PATH}"

0 commit comments

Comments
 (0)