zoukankan      html  css  js  c++  java
  • How can I use systemctl from within a docker container (run on ubuntu 20.04, with ubuntu 18.04 base)

    参考文章: https://notesail.com/posts/docker-systemctl.html
    vscode + docker 构建远程开发环境: https://zhuanlan.zhihu.com/p/80099904

    How can I use systemctl from within a docker container (run on ubuntu 20.04, with ubuntu 18.04 base)
    Ask Question
    Asked yesterday
    Active yesterday
    Viewed 21 times
    0

    I'm trying to start a docker container with systemd as the init process so I can run multiple services from that container, and I get the following weird error:

    Systemd is listed as PID 1 when I run top, but none of the services i've enabled through systemctl are running, and trying to systemctl status them gives me system has not been booted with systemd as init process (PID 1)

    Here's my dockerfile:

    FROM ubuntu:20.04

    ENV container docker
    ENV LC_ALL C
    ENV DEBIAN_FRONTEND noninteractive

    RUN sed -i 's/# deb/deb/g' /etc/apt/sources.list

    RUN apt-get update
    && apt-get install -y systemd systemd-sysv
    && apt-get clean
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

    RUN cd /lib/systemd/system/sysinit.target.wants/
    && ls | grep -v systemd-tmpfiles-setup | xargs rm -f $1

    RUN rm -f /lib/systemd/system/multi-user.target.wants/*
    /etc/systemd/system/.wants/
    /lib/systemd/system/local-fs.target.wants/*
    /lib/systemd/system/sockets.target.wants/udev
    /lib/systemd/system/sockets.target.wants/initctl
    /lib/systemd/system/basic.target.wants/*
    /lib/systemd/system/anaconda.target.wants/*
    /lib/systemd/system/plymouth*
    /lib/systemd/system/systemd-update-utmp*

    ...assorted aptget installs...

    ENV LOCAL="yes"

    ...assorted utils scripts...

    RUN useradd --create-home fractal
    && usermod -aG sudo fractal
    && echo 'fractal:password1234567.' | chpasswd

    ...assorted utils scripts...

    ADD bootstrap.sh /home/fractal
    ADD entry.sh /home/fractal
    ADD fractal-input.rules home/fractal

    RUN chmod +x /home/fractal/bootstrap.sh
    && chown -v -R fractal:fractal /home/fractal
    RUN chown root:root /run/user
    RUN chmod +x /home/fractal/entry.sh

    ...adding assorted services...

    VOLUME [ "/sys/fs/cgroup" ]

    RUN systemctl set-default multi-user.target
    ENV init /lib/systemd/systemd

    ....assorted services enabled....

    CMD ["/lib/systemd/systemd"]

    18.04 20.04 docker
    share improve this question

  • 相关阅读:
    ssh的配置[待写]
    回文检测题解
    叠积木/银河系英雄传说[NOI2002]题解
    酒店之王解题报告
    摆花解题报告
    摆渡车(noip2018 pj t3)
    NOIP2018 普及 凉凉记
    子矩阵(NOIP2014T4)
    花店橱窗布置(洛谷:P1854)
    我想大声告诉你
  • 原文地址:https://www.cnblogs.com/jiftle/p/13584794.html
Copyright © 2011-2022 走看看