背景:

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

从容器中获取宿主机IP地址的更多相关文章

  1. 判断runtime是否运行在docker中及从docker中获取宿主机的ip信息

    1.判断运行时环境是否运行在docker中 参考:How to determine if a process runs inside lxc/Docker? 确定进程是否在LXC/Docker中运行? ...

  2. 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址;

    package com.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.htt ...

  3. shell中获取本机ip地址

    shell中获取本机ip地址 方法一: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr ...

  4. .NET中获取当前的IP地址

    /// <summary> /// 获取本地IP地址信息 /// </summary> public static string GetAddressIP() { ///获取本 ...

  5. .Net 在容器中操作宿主机

    方案描述 在 docker 容器中想操作宿主机,一般会使用 ssh 的方式,然后 .Net 通过执行远程 ssh 指令来操作宿主机.本文将使用 交互式 .Net 容器版 中提供的镜像演示 .Net 在 ...

  6. 关于spring MVC中获取客户端的IP地址

    1. 引入HttpServletRequest @Autowired private HttpServletRequest request; 2. 获取IP地址 private static Stri ...

  7. Linux Shell脚本中获取本机ip地址方法

    ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​ 命令解释 ...

  8. C#中获取用户登录IP地址

    using System.Net; //导入命名空间 public string getLocalIP() { string strHostName = Dns.GetHostName(); //得到 ...

  9. 在unity 脚本中获取客户端的IP地址

    需要using System.Net.NetworkInformation;原理就是获取网卡的信息. //下面这段代码是我在百度贴吧找来的,经检验是正确的 string userIp = " ...

随机推荐

  1. 【LeetCode】925. Long Pressed Name 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 参考资料 日期 题目地址:https://leetc ...

  2. 【LeetCode】522. Longest Uncommon Subsequence II 解题报告(Python)

    [LeetCode]522. Longest Uncommon Subsequence II 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemin ...

  3. A. Points on Line

    A. Points on Line time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  4. 1137 - Expanding Rods

    1137 - Expanding Rods    PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: 32 M ...

  5. [opencv]二维码识别率提升方案-resize调整

    这里采用循环resize的方式,对二维码图像进行放缩. 识别到name(二维码结果)不为空,则立即退出循环 //循环识别 for (int i = 1;name.empty(); i++){ resi ...

  6. javaScript系列 [09]-javaScript和JSON (拓展)

    本文输出JSON搜索和JSON转换相关的内容,是对前两篇文章的补充. JSON搜索 在特定的开发场景中,如果服务器端返回的JSON数据异常复杂(可能超过上万行),那么必然就有对JSON文档进行搜索的需 ...

  7. 编写Java程序随机输入日期计算星期几,打印任意一年的日历

    需求说明: 随机输入日期计算星期几,打印任意一年的日历 已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几 实现思路: 一.知道1900年1月1日为星期一,求输入的年份月份与1900年1 ...

  8. docker学习:docker安装

    Centos7 安装docker 下载安装 yum install docker-ce 启动docker systemctl start docker 创建并编写镜像加速文件 vim /etc/doc ...

  9. TortoiseGit使用ssh-keygen生成的私钥

    1.说明 使用TortoiseGit自带的PuTTY Key Generator工具, 把ssh-keygen生成的私钥转换为Putty使用的.ppk文件, 然后在拉取Git代码时, 加载对应的.pp ...

  10. Linux查看RAM内存信息

    1.查看/proc/meminfo文件 查看RAM使用情况最简单的方法是通过/proc/meminfo. 这个动态更新的虚拟文件列出了详细的内存使用情况. cat /proc/meminfo 命令输出 ...