Как запустить Docker-контейнер не от root

Контейнер работает не от root · docker.nonroot

Почему это важно

Процесс от root внутри контейнера становится root на хосте, как только выберется наружу — через баг ядра, примонтированный сокет или неверный volume. Строка USER ничего не стоит.

Как исправить

Что сделать: Добавьте non-root пользователя в Dockerfile перед CMD.

# Добавьте эти строки ПЕРЕД CMD/ENTRYPOINT:
RUN useradd --create-home --shell /bin/sh --uid 1001 appuser \
&& chown -R appuser:appuser /app
USER appuser

# Проверка: пользователь не должен быть root
# docker run --rm myimage id
# → uid=1001(appuser) gid=1001(appuser)

Проходит ли эту проверку ваш репозиторий?

Бесплатно для публичных репозиториев GitHub, без регистрации. До 58 проверок DevOps и безопасности примерно за 5 секунд.

Похожие проверки