+
 新版

mac 环境的docker容器无法使用systemctl

吴茨仁 发布于 2021/02/02 17:34
阅读 5K+
收藏 0

系统环境:macbook

docker:Docker Engine v20.10.2  mac docker桌面版

使用docker-compose 启动的ubuntu

目的:在ubuntu容器中再安装docker,搭建其他环境

进入ubuntu容器后,安装docker成功,无法使用systemctl

systemctl start docker,提示System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

systemctl,提示bash: systemctl: command not found

service docker.service start,提示* Starting Docker: docker

分别以docker exec -it ubuntu1 /bin/sh和docker exec -it --user root ubuntu1 /bin/bash进入容器,也不行。

也试过usermod -aG。

此种方式:docker run -p 9053:9053 --name=ubuntu5 --restart=always  -tid --tty=true --privileged=true -d ubuntu:20.10 /usr/sbin/init,竟提示stat /usr/sbin/init: no such file or directory: unknown.,发现我的mac下sbin目录竟然没有init,看别人有执行成功的。

我现在怀疑是不是brew的原因,每次brew升级或是系统升级的时候导致的原因。

哪位大佬能帮忙解答下,感谢

mac--->docker--->ubuntu--->docker

 

加载中
0
吴茨仁
吴茨仁

老铁,铁汁们,如何再初始化一个sbin下的init,这样可以吗

0
gammey
gammey

你的容器里没安装systemctl,你可以试着用apt找下

吴茨仁
吴茨仁
systemctl这个是随系统安装时创建的,docker run ******这种方式安装的是一个简化版,不带有systemctl,docker pull 还可以安装一个不是简化版的系统?apt好像找不到这个systemctl
0
吴茨仁
吴茨仁

搞了半天,原来是版本的问题。

ubuntu版本16.04+就无法给root权限

更换版本为16.04就可以了,使用docker-compose的方式还是不可以

docker run -tid --name ubuntu1 --privileged=true ubuntu:16.04 /sbin/init
docker exec -it ubuntu1 /bin/bash

 

我是个渣渣,流下了没有技术的泪水

0
吴茨仁
吴茨仁

network也创建了,指定了ip,宿主机mac和容器ubuntu拼不通,容器是可以连接外网的

#172.10.16.230是我局域网内的

docker network create --subnet=172.10.16.230/20 myworknet

docker run -p 9050:9050 -tid --name ubuntu1 --net myworknet --ip 172.10.16.231 --privileged=true ubuntu:16.04 /sbin/init


root@10596f4f5d60:/# ping 172.10.16.147
PING 172.10.16.147 (172.10.16.147) 56(84) bytes of data.
From 172.10.16.231 icmp_seq=1 Destination Host Unreachable
From 172.10.16.231 icmp_seq=2 Destination Host Unreachable
From 172.10.16.231 icmp_seq=3 Destination Host Unreachable

 

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部