Текст и данные · Инструкция
Как клонировать приватный Git-репозиторий во время Docker build
SSH mount решает узкую build-задачу: дать одному RUN доступ к приватному Git без записи ключа в image layer.
Короткий ответ
Передайте SSH agent через `docker buildx build --ssh default .`, а в Dockerfile используйте `RUN --mount=type=ssh ..`. Приватный ключ не должен попадать в слой.
Что делать
- 1: Убедитесь, что ключ загружен в SSH agent.
- 2: В Dockerfile используйте `RUN --mount=type=ssh git clone ..`.
- 3: Запустите `docker buildx build --ssh default .`.
- 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.