背景:
docker 中的程序需要連接外部的程序,連接的過程中會告知外部程序自己的ip地址,然后外部的程序會回連docker中的程序。由於docker使用的是rancher中的托管模式,外部程序是沒辦法直接連接到容器中的,那么如何解決呢?
1、將主機/proc目錄掛載到容器中
-v /proc:/hostip/:ro
2、運行docker的時候添加主機完全訪問權限
--privileged
3、在容器中運行命令
# 獲取網絡信息需要指定--net nsenter --mount=/hostip/1/ns/mnt --net=/hostip/1/ns/net ip a # 如果只是查看文件不需要指定--net nsenter --mount=/hostip/1/ns/mnt ls /root