6

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

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

启动我的容器

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

然后运行 ​​nmcli

nmcli dev wifi  => Error: Could not create NMClient object: Could not connect: No such file or directory

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

4

3 回答 3

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,并且上面的卷共享标志用于共享外部系统的总线。如果您需要容器拥有自己的总线,则需要进行不同的配置。

于 2019-02-27T21:22:27.893 回答
3

关于 networkmanager 的事情是它在dbus上运行。我做了同样的事情(追踪并查看需要什么)

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

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

于 2019-01-04T01:22:04.150 回答
2

在 docker 中尝试,这会在 docker 中创建自己的 dbus

docker run -it --net=host image_name
        
dbus-uuidgen > /var/lib/dbus/machine-id
mkdir -p /var/run/dbus
dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address
于 2020-07-08T10:17:02.550 回答