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

  • 相关阅读:
    输出流OutputStream简单理解
    IO流实现写入规定的acci码值
    事务的ACID属性&&五种状态
    java基础总结之Hashtable
    HBase
    oracle交换分区
    ArrayList 和 LinkedList 的区别(底层数据结构): 什么时候使用arrayList,什么时候使用LinkedList (一个小时)
    Mac中MariaDB数据库的安装步骤
    Mac OS X中MacPorts安装和使用(linux 的 yum)
    SFTP秘钥认证
  • 原文地址:https://www.cnblogs.com/jiftle/p/13584794.html
Copyright © 2011-2022 走看看