Я хочу сделать контейнер с systemd на основе RHEL ubi8-init. При настройке этого контейнера я хочу выполнить команды, которые должны выполняться уже при запущенном systemd.
Например такой Containerfile
:
FROM ubi8-init
RUN ps aux > /root/ps.txt
Если я построю и запущу такой контейнер, то в /root/ps.txt будет что-то вроде
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 11920 2688 ? Ss 10:37 0:00 /bin/sh -c ps aux > /root/ps.txt
root 2 0.0 0.0 44668 3460 ? R 10:37 0:00 ps aux
Т.е. в нём ничего не запущено на этапе выполнения инструкции RUN кроме самой команды.
Мне же нужно, чтобы запустился ubi8-init (с systemd), «сбоку» выполнилась эта команда (аналогично тому, как я это могу делать через podman exec
), он остановился и полученный образ уже запаковался в контейнер.
Есть ли такая возможность у docker/podman?
Про то, что я могу это сделать руками/скриптом и потом сделать commit, я в курсе, но хочется это сделать через Dockerfile/Containerfile.