diff --git a/.ide/Dockerfile b/.ide/Dockerfile index 76f3341e5..6746671a3 100644 --- a/.ide/Dockerfile +++ b/.ide/Dockerfile @@ -1,23 +1,45 @@ -# .ide/Dockerfile +# 此文件为远程开发环境配置文件 +FROM debian:bookworm -# 可将 node 替换为需要的基础镜像 -FROM go:1.25 +ENV GO_VERSION=1.24.1 -# 安装 code-server 和 vscode 常用插件 -RUN curl -fsSL https://code-server.dev/install.sh | sh \ - && code-server --install-extension cnbcool.cnb-welcome \ - && code-server --install-extension redhat.vscode-yaml \ - && code-server --install-extension dbaeumer.vscode-eslint \ - && code-server --install-extension waderyan.gitblame \ - && code-server --install-extension mhutchie.git-graph \ - && code-server --install-extension donjayamanne.githistory \ - && code-server --install-extension tencent-cloud.coding-copilot \ - && code-server --install-extension golang.go \ - && echo done +RUN apt update &&\ + apt install -y wget rsync unzip openssh-server vim lsof git git-lfs locales locales-all libgit2-1.5 libgit2-dev net-tools jq curl &&\ + rm -rf /var/lib/apt/lists/* -# 安装 ssh 服务,用于支持 VSCode 等客户端通过 Remote-SSH 访问开发环境(也可按需安装其他软件) -RUN apt-get update && apt-get install -y git wget unzip openssh-server +# install golang +RUN curl -fsSLO https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz &&\ + rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz &&\ + ln -sf /usr/local/go/bin/go /usr/bin/go &&\ + ln -sf /usr/local/go/bin/gofmt /usr/bin/gofmt &&\ + curl -sSfL https://raw.bgithub.xyz/golangci/golangci-lint/master/install.sh | sh -s v1.54.2 &&\ + rm -rf go${GO_VERSION}.linux-amd64.tar.gz -# 指定字符集支持命令行输入中文(根据需要选择字符集) -ENV LANG C.UTF-8 -ENV LANGUAGE C.UTF-8 \ No newline at end of file +# install code-server +RUN curl -fsSL https://code-server.dev/install.sh | sh +RUN code-server --install-extension dbaeumer.vscode-eslint &&\ + code-server --install-extension pinage404.git-extension-pack &&\ + code-server --install-extension redhat.vscode-yaml &&\ + code-server --install-extension esbenp.prettier-vscode &&\ + code-server --install-extension golang.go &&\ + code-server --install-extension eamodio.gitlens &&\ + code-server --install-extension waderyan.gitblame &&\ + code-server --install-extension donjayamanne.githistory &&\ + code-server --install-extension mhutchie.git-graph &&\ + code-server --install-extension ms-azuretools.vscode-docker &&\ + code-server --install-extension PKief.material-icon-theme &&\ + code-server --install-extension tencent-cloud.coding-copilot &&\ + echo done + +# install Go Tools +ENV GOPATH /root/go +ENV PATH="${PATH}:${GOPATH}/bin" + +RUN go install -v golang.org/x/tools/gopls@latest + +# install goreleaser +RUN go install github.com/goreleaser/goreleaser/v2@latest + +ENV LC_ALL zh_CN.UTF-8 +ENV LANG zh_CN.UTF-8 +ENV LANGUAGE zh_CN.UTF-8 \ No newline at end of file