文章来源:https://www.cnblogs.com/cptao/
背景:
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