我正在尝试使用 systemctl 在 docker 容器运行时启动 cron 守护进程。我运行 docker build,然后当我尝试在启动脚本中运行 systemctl start crond.service 时,出现以下错误:系统尚未使用 systemd 作为 init 系统(PID 1)启动。无法操作。无法连接到总线:主机已关闭。我正在使用 CBL-Mariner 并且确保安装了 systemd。
Dockerfile:
FROM mcr.microsoft.com/cbl-mariner/base/core:2.0
ENV NFDUMP_VERSION 1.6.18
ENV NFDUMP_RELEASE v${NFDUMP_VERSION}.tar.gz
# Health Probe
EXPOSE 8080/tcp
# sFlow
EXPOSE 6343/udp
RUN tdnf update && tdnf install -y \
autoconf \
byacc \
cronie \
flex \
bzip2-devel \
rrdtool-devel \
libtool \
make \
nmap-ncat \
pkgconf \
wget \
curl \
jq \
tar \
automake \
gcc \
binutils \
glibc-devel \
kernel-headers \
awk \
azcopy \
systemd
# Install nfdump/sfcapd
WORKDIR /usr/local/src
RUN wget https://github.com/phaag/nfdump/archive/${NFDUMP_RELEASE} --no-check-certificate \
&& tar xvfz ${NFDUMP_RELEASE} \
&& cd nfdump-${NFDUMP_VERSION} \
&& ./autogen.sh \
&& ./configure --enable-sflow \
&& make \
&& make install \
&& ldconfig
RUN rm -fr /usr/local/src/*
ENV PATH "$PATH:/root"
WORKDIR /root
COPY cron_nfdump_combined.sh cron_nfdump_combined.sh
COPY nfdump_combined.sh nfdump_combined.sh
COPY startup.sh startup.sh
RUN chmod +x startup.sh
RUN chmod +x cron_nfdump_combined.sh
RUN chmod +x nfdump_combined.sh
ENTRYPOINT ["bash", "startup.sh"]