docker 容器使用systemctl
问题:解决 System has not been booted with systemd as init system (PID 1). Can‘t operate.
1、安装sudo, ssh
2、增加非root用户:hh
3、创建容器:注意加--privileged
docker run --privileged -itd --name ubuntu_test -u root ubuntu1804:test /bin/bash
4、容器里修改root密码
passwd
apt update
apt install sudo
5、切换到hh,安装 systemmd
sudo apt install systemd
ls -al /sbin/init
6、配置容器的第一个进程:
$ exit
$ docker stop ubuntu_test
$ sudo systemctl stop docker
# sudo su
修改 config.v2.json中的 Path 和 Cmd ,由 /bin/bash 设置为 /sbin/init
7、保存修改后,重启docker,再重启docker容器,重新配置即可。
$ docker start ubuntu_test
$ docker exec -it -u duapple ubuntu_test /bin/bash
$ sudo systemctl start ssh
$ sudo systemctl status ssh