资讯详情

解决 System has not been booted with systemd as init system (PID 1). Can‘t operate.

docker 容器使用systemctl

以ubuntu做为参考。

拉取容器

  • 直接拉取

    使用 docker pull ubuntu 直接拉取。

  • 通过Dockerfile拉取

    :

    # 基础镜像 FROM ubuntu:18.04  # build参数 ARG user=duapple  # 元数据 LABEL maintainer="hejiang" email="2832893880@qq.com"  # 安装依赖 #RUN apt-get update && apt-get install -y sudo   # 添加用户:赋予sudo权限,指定密码 RUN useradd --create-home --no-log-init --shell /bin/bash ${user} \     && adduser ${user} sudo \     && echo "${user}:123123" | chpasswd  # 改变用户的UID和GID #RUN usermod -u 1000 ${user} && usermod -G 1000 ${user}  # 指定容器起来的工作目录 WORKDIR /home/${user}  # 指定容器登录用户 USER {user} 

    拉取:

    $ docker build -t ubuntu1804:test . 

请添加图片描述

如果没有上网能力,可以先不安装sudo,进入系统后,安装软件源sudo。

# 配置容器

这里以docker以拉取的镜像为例。直接拉取镜像需要手动创建非镜像root用户,其他操作一直保持在下面。 无Dockerfile在实施前需要新用户脚本add_user.sh:

#!/bin/bash  user=$1  echo "add user: ${user}"  useradd -d /home/${user} -m ${user} passwd ${user}  usermod -g ${user} -G root ${user}  chmod u w /etc/sudoers echo "${user} ALL=(ALL:ALL) ALL" >> /etc/sudoers  chmod u-w /etc/sudoers  usermod -s /bin/bash ${user} 
# add_user.sh duapple 

创建容器并运行。

$ docker run --privileged -itd --name ubuntu_test -u root ubuntu1804:test /bin/bash $ docker exec -it ubuntu_test /bin/bash 

修改root密码并安装sudo。

# passwd  # apt update # apt install sudo  

切换到duapple用户。测试sudo,并安装systemd。

# exit $ docker exec -it -u duapple ubuntu_test /bin/bash $ sudo apt install systemd $ ls -al /sbin/init 

下载ssh,进行测试。

$ sudo apt install ssh $ sudo systemctl start ssh 

此时会报错:

$ exit $ docker stop ubuntu_test $ sudo systemctl stop docker # sudo su #  

修改 config.v2.json中的 PathCd ,由 /bin/bash 设置为 /sbin/init

# vim /var/lib/docker/containers/0f22b0c68de9819eb72d02094a5d23d3ee66e4eabd3563b9190f48ac83c55f22/config.v2.json

保存修改后,重启docker,再重启docker容器,重新配置即可。

$ docker start ubuntu_test
$ docker exec -it -u duapple ubuntu_test /bin/bash
$ sudo systemctl start ssh
$ sudo systemctl status ssh

标签: 继电器rs1a23d25

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台