从未在容器中为Systemd分配pid 0

时间:2019-11-26 12:07:54

标签: docker debian dockerfile

我正在尝试建立持续集成管道,这需要我在容器内安装abc.deb文件。

debian /控制文件确实包括:

Depends:  ${python3:Depends}, ${misc:Depends}, python3-webpy, systemd

debian / rules文件包括(下面仅展示了相关部分):

%:
dh $@  --with=python3,systemd

override_dh_systemd_start:
    dh_systemd_start -p<application>

override_dh_installinit:
    dh_systemd_start

我的Dockerfile如下:

FROM <relevant base image>
COPY results/*.deb /packages/
RUN export DEBIAN_FRONTEND=noninteractive  && apt-get update && \
    apt-get install -y --no-install-recommends --auto-remove \
    dumb-init \
    procps \
    /packages/*.deb && \
    apt-get autoremove -y && \
    apt-get autoclean -y && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt
    CMD tail -f /dev/null

当我在docker内部执行docker exec并执行ps aux时,我得到:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2388   756 ?        Ss   11:51   0:00 /bin/sh -c tail -f /dev/null

如何将系统设置为PID 1?每个人都说哑巴初始化!

我尝试查看多篇文章,似乎不可能,需要在同一篇文章上进行确认。好的是(仅举几例):

https://lwn.net/Articles/676831/

https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/

0 个答案:

没有答案