-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.dev
More file actions
45 lines (39 loc) · 1.06 KB
/
Dockerfile.dev
File metadata and controls
45 lines (39 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FROM debian:bookworm-slim
ARG GO_VERSION=1.24.5
ENV GO_VERSION=${GO_VERSION}
RUN rm -f /etc/apt/sources.list && rm -rf /etc/apt/sources.d
COPY sources.list /etc/apt/sources.list
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
clang \
llvm-19 \
llvm-19-dev \
graphviz \
g++ \
gcc \
libc6-dev \
make \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
RUN set -eux;\
arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \
url=; \
case "$arch" in \
'amd64') \
url="https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz"; \
;; \
'arm64') \
url="https://dl.google.com/go/go${GO_VERSION}.linux-arm64.tar.gz"; \
;; \
*) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;;\
esac; \
curl -fsSL "$url" -o go.tar.gz \
&& rm -rf /usr/local/go && tar -C /usr/local -xzf go.tar.gz \
&& rm go.tar.gz
ENV GOTOOLCHAIN=local
ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
# 设置 GOPROXY
RUN go env -w GOPROXY=https://goproxy.cn,direct
WORKDIR /app