【问题标题】:Syslog-ng with Python 3.7 in Docker在 Docker 中使用 Python 3.7 的 Syslog-ng
【发布时间】:2019-08-01 20:51:38
【问题描述】:

我正在使用以下 Dockerfile 使用 Python 3.7.4 和 Syslog-ng 创建映像:

FROM python:3.7.4

RUN apt-get update -qq && apt-get install -y \
    wget \
    gnupg2

RUN wget -qO - https://download.opensuse.org/repositories/home:/laszlo_budai:/syslog-ng/Debian_9.0/Release.key | apt-key add -
RUN echo 'deb http://download.opensuse.org/repositories/home:/laszlo_budai:/syslog-ng/Debian_9.0 ./' | tee --append /etc/apt/sources.list.d/syslog-ng-obs.list

RUN apt-get update -qq && apt-get install -y \
    syslog-ng

COPY ./out.log /out.log
COPY ./syslog-ng.conf /etc/syslog-ng/syslog-ng.conf

RUN find /usr/lib/ -name 'libjvm.so*' | xargs dirname | tee --append /etc/ld.so.conf.d/openjdk-libjvm.conf
RUN ldconfig

EXPOSE 514/udp
EXPOSE 601/tcp
EXPOSE 6514/tcp

ENTRYPOINT ["/usr/sbin/syslog-ng", "-F"]

但是,我想在我的 syslog-ng.conf 中使用 Python 3.7.4,而 syslog-ng 正在使用 Python 2.7。

如何更改为 Python 3?


编辑:MrAnno 的解决方案

用python3编译配置:

RUN cd /syslog && \
    ./configure --with-python=3 --enable-ssl --enable-systemd --enable-debug  && \
    make && make install

RUN ldconfig

【问题讨论】:

    标签: python python-3.x docker syslog-ng


    【解决方案1】:

    目前 (v3.22.1),home:/laszlo_budai:/syslog-ng 存储库中的所有 syslog-ng 包都使用 Python 2 编译。它无法更改,您必须使用 --with-python=3 配置标志从源代码重新编译 syslog-ng指定。

    【讨论】:

    • 我尝试从源代码构建它,但是当我执行“syslog-ng -F”时却没有任何反应。只有黑屏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多