How We Run as a Non-Root Inside Docker Container

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Docker запускает процесс внутри своего контейнера с пользователем “root”. Однако, в некоторых случаях это неудобно. Например, initdb в PostgreSQL не любит быть запущенным от имени root и завершится с ошибкой. В rultor.com, помощнике команды DevOps, мы используем Docker как технологию виртуализации для каждой сборки, которую мы выполняем.

Вот как мы меняем пользователя внутри запущенного контейнера, сразу после его запуска.

Сначала, вот как мы запускаем новый Docker контейнер:

В текущем каталоге есть два файла: entry.sh и script.sh. entry.sh - это файл, который выполняется Docker при запуске и содержит следующее:

script.sh will be executed as a user r inside the container. And this r user will have sudo permissions. This is exactly what all projects, managing their DevOps procedures with rultor.com, need.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-16 at 15:33

sixnines availability badge   GitHub stars