Я пытаюсь использовать Docker для создания образа, импортирующего пакет npm, размещенный в частном репозитории github: "mypackage": "git@github.com:myaccount/myrepo.git#v0.0.2"
Это прекрасно работает локально, так как у меня есть доступ по SSH, но, очевидно, мой контейнер Docker этого не делает. Я следовал следующим инструкциям, чтобы реализовать это с использованием некоторой пересылки ssh, включенной в 18.09:
https://medium.com/@tonistiigi/build-secrets-and-ssh-forwarding-in-docker-18-09-ae8161d066
https://docs.docker.com/develop/develop-images/build_enhancements/#using-ssh-to-access-private-data-in-builds
Используя следующий файл Docker:
# syntax=docker/dockerfile:experimental
FROM alpine
# Install ssh client and git
RUN apk add --no-cache openssh-client git
# Download public key for github.com
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
# Clone private repository
RUN --mount=type=ssh npm install
Затем выполнение docker build --ssh default .
завершается ошибкой со следующей ошибкой:
#13 1.309 npm ERR! Host key verification failed.
#13 1.309 npm ERR! fatal: Could not read from remote repository.
#13 1.309 npm ERR!
#13 1.309 npm ERR! Please make sure you have the correct access rights
#13 1.309 npm ERR! and the repository exists.
#13 1.310 npm ERR!
#13 1.310 npm ERR! exited with error code: 128
Я следую этой документации к письму, но мне не повезло. Я что-то пропустил? Я на OSX, но это не с той же ошибкой в моей среде Travis. Помогите!