通过dockerfile,我尝试在后台运行2个进程(Tor和Polipo)。我的Dockerfile是这样的:
# Pull base image.
FROM ubuntu:latest
# Upgrade system
RUN apt-get update && apt-get dist-upgrade -y --no-install-recommends && apt-get autoremove -y && apt-get clean
# Install TOR
RUN apt-get install -y --no-install-recommends tor tor-geoipdb torsocks && apt-get autoremove -y && apt-get clean
# INSTALL POLIPO
RUN apt-get update && apt-get install -y polipo
# INSTALL SUPERVISOR
RUN apt-get install -y supervisor
# Default ORPort
EXPOSE 9001
# Default DirPort
EXPOSE 9030
# Default SOCKS5 proxy port
EXPOSE 9050
# Default ControlPort
EXPOSE 9051
# Default polipo Port
EXPOSE 8123
RUN echo 'socksParentProxy = "localhost:9050"' >> /etc/polipo/config
RUN echo 'socksProxyType = socks5' >> /etc/polipo/config
RUN echo 'diskCacheRoot = ""' >> /etc/polipo/config
RUN echo 'ORPort 9001' >> /etc/tor/torrc
RUN echo 'ExitPolicy reject *:*' >> /etc/tor/torrc
ADD supervisor_tor.conf /etc/supervisor/conf.d/tor.conf
CMD /usr/bin/supervisord -n 我的supervisor_tor.conf是这样的:
[group:tor]
programs=polipo,tor
[program:polipo]
command=/usr/bin/polipo -c /etc/polipo/config
autostart=true
autorestart=true
[program:tor]
command=/usr/bin/tor
autostart=true
autorestart=true
redirect_stderr=true一旦我的countainer开始运行,我就会看到我在bash上没有访问到的所有日志。
如何通过supervisor在后台启动2个进程?
提前谢谢。
发布于 2015-07-30 00:32:23
我有点迷茫,因为我不明白“我看到所有我在bash上访问不到的日志”是什么意思。
然而,这听起来像是你的问题是你想要回你的bash提示符。如果是这种情况,只需在启动映像时将-d参数传递给docker run即可。如果你想获得另一个外壳,只需使用docker exec命令即可。例如:
$ docker exec -it mycon bashhttps://stackoverflow.com/questions/31705615
复制相似问题