簡體   English   中英

配置運行Docker容器的主機的網絡接口

[英]Configure the network interfaces of the host a docker container is running on

我有一個Web服務(網頁),該服務允許用戶配置主機的網絡接口(它基本上是用於配置主機NIC的網頁)。 現在,我們正在考慮將此類服務移至Docker容器中。 這意味着在容器內運行的sw應該能夠修改docker在其上運行的主機的網絡接口的配置。

我嘗試使用--network = host啟動docker,並使用ip命令修改接口配置,但是我只能(顯然嗎?!?)獲得的權限被拒絕

這可能是有道理的,因為從安全角度來看這可能是一個問題,更不用說您正在更改其他可能正在運行的容器看到的網絡配置,但是我想知道是否有任何泊塢窗配置/設置可能允許我完全在docker容器內執行任務( 后果自負)。

我的意思是,我至少可以想到一個工作區,在主機上運行服務(在docker容器外部),並使docker和該服務通過一些IPC機制相互通信。 這是一個解決方案,但不是最佳選擇,因為這將制止使您的所有內容在容器內運行的docker范式。 此外,這意味着當我們使用新版本的軟件升級容器時,可能還需要在容器外部升級模塊。

嘗試以特權模式運行容器以消除容器限制:

docker run --net=host --privileged ...

如果這樣可以解決您的問題,則可以用--cap-add和各種內核功能替換--privileged 想到的第一個特權是NET_ADMIN,您可以嘗試使用:

docker run --net=host --cap-add NET_ADMIN ...

有關配置特權的更多詳細信息,請參閱docker run docs的本部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM