Службы xinetd и rsyslog никогда не запускаются в докере (начиная с Ubuntu 22.04 на RHEL9)

Мне нужно развернуть сервис, предназначенный для работы в Ubuntu (или другом дистрибутиве с той же базой), на сервере RHEL9.

Я подумал, что лучшим решением будет развернуть его в докере.

Поэтому я создал образ докера, соответствующий тому, что мне нужно.

Когда я развертываю этот образ в таком дистрибутиве, как Debian/Ubuntu, все работает нормально.

Если я разверну его на сервере RHEL9, службы rsyslog и xinetd никогда не запустятся (один только xinetd без rsyslog в моем образе тоже не работает, я просто хотел добавить системный журнал для отладки).

Dockerfile для тестирования:

      FROM ubuntu:22.04
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NOWARNINGS="yes"
RUN dpkg --add-architecture i386 \ 
&& apt-get update \
&& apt-get -y upgrade \
&& apt-get -yq install software-properties-common apt-utils nano libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g-dev:i386 tcsh csh emacs binutils autoconf gawk perl ffmpeg vim xinetd openssh-server openssh-client sox libsox-fmt-all bc nscd net-tools curl
RUN add-apt-repository -y ppa:adiscon/v8-stable \
&& apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install rsyslog
VOLUME ["/users/bin","/users/systems"]
RUN echo "/bin/bash \n" >> /entrypoint.sh
CMD bash /entrypoint.sh

изображение здания:

      docker build -t testing:1.0.0 .

Экспортировать изображение

      docker save testing:1.0.0 | gzip > ./debug.tar.gz

Импортировать изображение на RHEL9

      sudo docker image load -i debug.tar.gz

Запуск контейнера с помощью этой команды:

      docker run -it testing:1.0.0

Результат на RHEL

      root@cbbf7017f6f9:/# service rsyslog start
 * Starting enhanced syslogd rsyslogd
rsyslog startup failure, child did not respond within startup timeout (60 seconds)
                                                                                                                                                                                        [ OK ]
root@cbbf7017f6f9:/# service rsyslog status
 * rsyslogd is not running
root@cbbf7017f6f9:/# service xinetd start
 * Starting internet superserver xinetd                                                                                                                                                 [ OK ]
root@cbbf7017f6f9:/# ps -ef | grep xinetd
root          73       1 99 18:27 ?        00:00:19 start-stop-daemon --pidfile /run/xinetd.pid --start --quiet --background --exec /usr/sbin/xinetd -- -pidfile /run/xinetd.pid -stayalive -inetd_compat -inetd_ipv6
root          76       7  0 18:27 pts/0    00:00:00 grep --color=auto xinetd

Rsyslog никогда не запускается, процесс запуска xinetd остается в фоновом режиме, а xined не запускается.

0 ответов

Другие вопросы по тегам