我正在使用以下Dockerfile创建一个具有Python3.7.4和Syslog的映像:
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中使用Python3.7.4,而syslog使用Python2.7。
如何更改为Python 3?
编辑:MrAnno的解决方案
用python3编译和配置:
RUN cd /syslog && \
./configure --with-python=3 --enable-ssl --enable-systemd --enable-debug && \
make && make install
RUN ldconfig发布于 2019-08-01 21:17:05
目前(v3.22.1),home:/laszlo_budai:/syslog-ng存储库中的所有syslog-ng包都是用Python2编译的。它不能更改,您必须使用指定的--with-python=3配置标志从源代码重新编译syslog-ng。
https://stackoverflow.com/questions/57316817
复制相似问题