如何在 alpine linux 中安装 Go

新手上路,请多包涵

我正在尝试在 Alpine Docker 映像中安装 Go。为此,我从 这里 在我的 alpine docker 映像中下载了 tar 文件,使用以下命令解压缩它:

tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz

导出的 PATH 已二进制为:

导出 PATH=$PATH:/usr/local/go/bin

但是,当我说 go version 时,它会说 sh: go: not found 。我对高山很陌生。有谁知道,我在这里想念什么?

重现步骤-

 $ docker run -it alpine sh
$ wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin
$ go version

原文由 Yogesh Jilhawar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

谢谢BMitch。

我编译了 go 源代码并在 alpine 图像容器中执行了以下步骤。

 echo "installing go version 1.10.3..."
apk add --no-cache --virtual .build-deps bash gcc musl-dev openssl go
wget -O go.tgz https://dl.google.com/go/go1.10.3.src.tar.gz
tar -C /usr/local -xzf go.tgz
cd /usr/local/go/src/
./make.bash
export PATH="/usr/local/go/bin:$PATH"
export GOPATH=/opt/go/
export PATH=$PATH:$GOPATH/bin
apk del .build-deps
go version

原文由 Yogesh Jilhawar 发布,翻译遵循 CC BY-SA 4.0 许可协议

我只是使用多阶段构建将其复制过来,到目前为止似乎还可以

FROM XXX

COPY --from=golang:1.13-alpine /usr/local/go/ /usr/local/go/

ENV PATH="/usr/local/go/bin:${PATH}"

原文由 Chad Grant 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题