Имеется Docker-образ с установленным Git.
Задача – во время запуска контейнера склонировать в него репозиторий.
Содержание
git clone – fatal: unable to fork
Во время попытки выполнения git clone
в Docker-контейнере – получаем ошибку “unable to fork“:
[simterm]
/ # git clone [email protected]:projectname/backend-services.git Cloning into 'backend-services'... fatal: unable to fork
[/simterm]
Причина – тут git
для аутентификации использует SSH ([email protected]), которого нет в системе:
[simterm]
/ # ssh sh: ssh: not found
[/simterm]
Устанавливаем:
[simterm]
/ # apk update / # apk add openssh
[/simterm]
The authenticity of host ‘github.com’ can’t be established
Вторая проблема при автоматизации git clone
– запрос на подтверждение хоста:
The authenticity of host ‘github.com (140.82.121.4)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
Что бы решить её – надо добавить публичный ключ хоста github.com в ~/.ssh/known_hosts
.
Используем ssh-keyscan
:
[simterm]
/ # ssh-keyscan github.com >> ~/.ssh/known_hosts # github.com:22 SSH-2.0-babeld-1a846ed2 # github.com:22 SSH-2.0-babeld-1a846ed2 # github.com:22 SSH-2.0-babeld-1a846ed2
[/simterm]
И клонируем:
[simterm]
/ # git clone [email protected]:projectname/backend-services.git ... remote: Total 5115 (delta 96), reused 169 (delta 56), pack-reused 4871 Receiving objects: 100% (5115/5115), 846.55 KiB | 3.00 MiB/s, done. Resolving deltas: 100% (2826/2826), done.
[/simterm]
Готово.