'/bin/sh: go: 在 'docker:dind' 容器中找不到'
'/bin/sh: go: not found' in 'docker:dind' container
我尝试在docker-in-docker 容器(docker:dind
) 中手动安装Golang
(go1.13.9.linux-amd64) (将 go
个二进制文件复制到容器中)。
Go
已复制到 /go/bin
、
/ # export GOROOT=/go
/ # export PATH=$GOROOT/bin:$PATH
/ #
/ # uname -a
Linux 41868f6e7ae3 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 Linux
/ #
/ # echo $GOROOT
/go
/ #
/ # echo $PATH
/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
我尝试检查版本并得到一个错误:
/ # go version
/bin/sh: go: not found
我尝试将env
添加到/etc/profile
同样的错误。
你没有提到基本图像,但最好在基本图像的基础上使用 go
或 docker-dind
,我会推荐基于 alpine 的 dind
然后安装 go
.
FROM docker:dind
RUN apk add --no-cache go
RUN go version
输出
Step 3/3 : RUN go version
---> Running in 123401c3ebad
go version go1.12.12 linux/amd64
我尝试在docker-in-docker 容器(docker:dind
) 中手动安装Golang
(go1.13.9.linux-amd64) (将 go
个二进制文件复制到容器中)。
Go
已复制到 /go/bin
、
/ # export GOROOT=/go
/ # export PATH=$GOROOT/bin:$PATH
/ #
/ # uname -a
Linux 41868f6e7ae3 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 Linux
/ #
/ # echo $GOROOT
/go
/ #
/ # echo $PATH
/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
我尝试检查版本并得到一个错误:
/ # go version
/bin/sh: go: not found
我尝试将env
添加到/etc/profile
同样的错误。
你没有提到基本图像,但最好在基本图像的基础上使用 go
或 docker-dind
,我会推荐基于 alpine 的 dind
然后安装 go
.
FROM docker:dind
RUN apk add --no-cache go
RUN go version
输出
Step 3/3 : RUN go version
---> Running in 123401c3ebad
go version go1.12.12 linux/amd64