'/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
Другие вопросы по тегам