Я новичок в докере и пытаюсь создать образ, который включает в себя выполнение npm install
.Некоторые из наших зависимостей происходят из наших частных репозиториев, и я сталкиваюсь с проблемой, связанной с SSH:
Я понял, что не предоставляю никакихформа SSH подробностей в моем файле, и наткнулся на различные посты онлайн о том, как сделать это, используя args в команду docker build
.
Итак, взято из здесь , я добавил следующеев мой dockerfile перед запуском команды npm install
:
ARG ssh_prv_key
ARG ssh_pub_key
RUN apt-get update && \
apt-get install -y \
git \
openssh-server \
libmysqlclient-dev
# Authorize SSH Host
RUN mkdir -p /root/.ssh && \
chmod 0700 /root/.ssh && \
ssh-keyscan github.com > /root/.ssh/known_hosts
# Add the keys and set permissions
RUN echo "$ssh_prv_key" > /root/.ssh/id_rsa && \
echo "$ssh_pub_key" > /root/.ssh/id_rsa.pub && \
chmod 600 /root/.ssh/id_rsa && \
chmod 600 /root/.ssh/id_rsa.pub
Итак, снова запустив команду сборки docker с указанными правильными аргументами, я вижу дальнейшую активность в консоли, которая предполагает использование моего ключа SSH:
Но, как вы можете видеть, я получаю no hostkey alg
сообщений и все еще получаю ту же ошибку «Проверка ключа хоста не удалась».Мне было интересно, смогу ли я просмотреть файл журнала, на который он ссылается, в ошибке:
Нужно ли запускать образ, чтобы иметь возможностьподключиться к ней и просмотреть папку «root»?
Надеюсь, что я понял, пожалуйста, будьте осторожны, я нук докер!
Спасибо