Текст и данные · Инструкция
Как передать NPM_TOKEN в Docker build без ARG и ENV
Секрет для приватного npm registry нужен во время `npm ci`, но не должен становиться частью итогового image metadata.
Короткий ответ
Передавайте токен как BuildKit secret и используйте `RUN --mount=type=secret`. Не сохраняйте NPM_TOKEN через `ARG` или `ENV`, если он нужен только на этапе сборки.
Порядок действий
- В Dockerfile используйте secret mount с `id=npm_token`.
- Прочитайте токен из `/run/secrets/npm_token` внутри одной build-команды.
- Передайте его через `docker build --secret id=npm_token,env=NPM_TOKEN .`.
- Проверьте, что временный `.npmrc` не попал в финальный слой.
Перед завершением проверьте
- Токен не объявлен через финальный `ENV`.
- Секрет не копируется из build context.
Важно
Не печатайте значение токена в build logs даже при использовании secret mount.
Что учитывать
Не печатайте значение токена в build logs даже при использовании secret mount.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Build secrets). Пример и формулировки — редакция N1RO на 2026-09-20.