docker 容器中的 nmcli

Max*_*ier 6 docker networkmanager

我目前正在寻找在 docker 容器中运行 nmcli

nmcli 在我的主机上工作得很好,但如果我正在启动一个特权容器 nmcli 不起作用。

启动我的容器

sudo docker run --privileged --net host -it image_with_network-manager /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后运行 ​​nmcli

nmcli dev wifi  => Error: Could not create NMClient object: Could not connect: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我的容器内的 ifconfig 没问题,我有主机的 eth0 和 wlan0

wee*_*qg3 5

我像这样运行我的容器:

docker run -d -it --privileged=true --net host --volume /var/run/dbus:/var/run/dbus [other args here]在 Ubuntu18.04 上并且它可以工作。

注意:--volume /var/run/dbus:/var/run/dbus但不是--volume /var/run/dbus,上面的卷共享标志用于共享外部系统的总线。如果您需要容器拥有自己的总线,则需要进行不同的配置。


小智 3

Networkmanager 的特点是它运行在dbus上。我做了同样的事情(追踪并看看需要什么)

尝试安装/var/run/dbus为卷。

sudo docker run --privileged --net host -it --volume /var/run/dbus image_with_network-manager /bin/bash