Docker 中 Python 3.7 的 Syslog-ng
Syslog-ng with Python 3.7 in Docker
我正在使用以下 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
目前(v3.22.1),home:/laszlo_budai:/syslog-ng
仓库中的所有 syslog-ng 包都是用 Python 编译的 2. 无法更改,您必须从重新编译 syslog-ng指定了 --with-python=3
配置标志的源代码。
我正在使用以下 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
目前(v3.22.1),home:/laszlo_budai:/syslog-ng
仓库中的所有 syslog-ng 包都是用 Python 编译的 2. 无法更改,您必须从重新编译 syslog-ng指定了 --with-python=3
配置标志的源代码。