启用Docker内部的网络管理器

kxe2p93d  于 2023-01-08  发布在  Docker
关注(0)|答案(2)|浏览(94)

我正在准备一个测试自动化,它要求我安装网络管理器,以便代码API(使用python3-networkmanager)可以进行测试。
在docker文件中,我尝试安装:

apt-get install dbus \
                network-manager

开始接收错误:

networkmanager.systems do not have hostname property.

我寻找解决方案,但似乎需要:
1.特权用户(不能使用特权用户,项目需求)
1.安装后重新启动。(在docker中,因此无法重新启动)
这给我留下了一个唯一的选择来模仿可以与python3通信的debian networkmanager-networkmanager。
想弄明白,我怎么能嘲笑他们?

carvr3hs

carvr3hs1#

RUN apt-get update && apt-get install -y \
    network-manager

对我有用。

h7wcgrx3

h7wcgrx32#

我想做出贡献,因为我必须花一些时间让它工作。
dockerfile中,您必须添加:

RUN apt-get update && apt-get install -y network-manager dbus

此外,我添加了一个脚本来启动网络管理器:

#!/bin/bash

service dbus start
service NetworkManager start

然后在Dockerfile中,您必须在末尾调用此启动脚本:

COPY start_script.sh /etc/init/
ENTRYPOINT ["/etc/init/start_script.sh"]

现在您可以构建容器并运行它,如下所示:

docker run --net="host" -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket container

对我来说,在没有特权容器的情况下使用OrangePi和Docker就足够了。

相关问题