Задать вопрос

Как передать приватный ключ ssh через переменную в докер образ?

Запускаю CI/CD через гитхаб. В github-workflow.yml отправляю приватный ключ через переменную
build-args: |
  ID_RSA=${{ secrets.ID_RSA }}

в докер файле добавляю его в образ
ARG ID_RSA
RUN mkdir -p /root/.ssh
RUN echo "$ID_RSA" > /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

RUN npm install

и когда скачивается пакет в package.json то приходит отказ в доступе к приватному репозиторию.

Попробовала физически добавить файл id_rsa в каталог и потом его просто скопировать в образ
COPY id_rsa /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

в таком варианте работает.

В чем проблема при передачи через переменную? Пробовала передавать ключ в base64, эффект тот же - отказано в доступе
  • Вопрос задан
  • 644 просмотра
Подписаться 3 Сложный 15 комментариев
Помогут разобраться в теме Все курсы
  • Stepik
    Docker + Ansible - с нуля, деплой и управление Swarm
    1 неделя
    Далее
  • Учебный центр IBS
    ADM-019 Основы Docker
    1 неделя
    Далее
  • Слёрм
    Docker для админов и разработчиков
    4 недели
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы