n1ro°
RU

Текст и данные · Инструкция

Как клонировать приватный Git-репозиторий во время Docker build

SSH mount решает узкую build-задачу: дать одному RUN доступ к приватному Git без записи ключа в image layer.

Редакция N1RO · Проверено

Короткий ответ

Передайте SSH agent через `docker buildx build --ssh default .`, а в Dockerfile используйте `RUN --mount=type=ssh ..`. Приватный ключ не должен попадать в слой.

Что делать

  1. 1: Убедитесь, что ключ загружен в SSH agent.
  2. 2: В Dockerfile используйте `RUN --mount=type=ssh git clone ..`.
  3. 3: Запустите `docker buildx build --ssh default .`.
  4. 4: Проверьте, что ключ не копировался через COPY/ARG/ENV и отсутствует в image history/files.

Важно

Не отключайте host key verification ради удобства: настройте `known_hosts`.

Проверьте после выполнения

  • До команды: Убедитесь, что ключ загружен в SSH agent.
  • Контроль результата: Проверьте, что ключ не копировался через COPY/ARG/ENV и отсутствует в image history/files.
  • Не пропустите ограничение: Не отключайте host key verification ради удобства: настройте `known_hosts`.

Что учитывать

Не отключайте host key verification ради удобства: настройте `known_hosts`.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Build secrets and SSH mounts). Пример и формулировки — редакция N1RO на 2026-09-17.