如何在 docker 容器中启动 cron 守护进程?

如何在 docker 容器中启动 cron 守护进程?

我正在尝试使用 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"]

相关内容