'/bin/sh: go: not found' в контейнере 'docker:dind'
Я пытаюсь установить Golang
(go1.13.9.linux-amd64) в контейнере docker-in-docker (docker:dind
) вручную (копия 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
получить ту же ошибку.
1 ответ
Решение
Вы не упомянули базовое изображение, но лучше использовать его в базовом образе для go
или docker-dind
, Буду рекомендовать dind
это база на alpine, а затем установить 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