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

  • 相关阅读:
    mysql数据库函数 concat 字段类型转化、字段拼接
    SSH2中的No result defined for action的问题
    导致表单重复提交(两次)的原因--css{url()}与a标签
    详解jar命令打包生成双击即可运行的Java程序
    21IO流 和缓冲流 和处理流
    20File
    19(1)hashmap,hashtable
    IntelliJ IDEA注册码激活
    19映射
    18泛型
  • 原文地址:https://www.cnblogs.com/jiftle/p/13584794.html
Copyright © 2011-2022 走看看