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

  • 相关阅读:
    Quartz入门例子简介 从入门到菜鸟(一)
    初识Quartz之第一个Quartz实例
    @DisallowConcurrentExecution 注解的作用 【定时器执行完当前任务才开启下一个线程的方式】
    no identities are available for signing
    Unity3D研究院之在把代码混淆过的游戏返混淆回来
    安沃广告问题
    IOS 接ShareSDK问题
    网页中插入Flvplayer视频播放器代码
    unity Android 打包后读取 xml 文件
    unity3d 下操作excel 与打印
  • 原文地址:https://www.cnblogs.com/jiftle/p/13584794.html
Copyright © 2011-2022 走看看