• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
黄洪波写点东西的地方
博客园    首页    新随笔    联系   管理    订阅  订阅
判断runtime是否运行在docker中及从docker中获取宿主机的ip信息

1.判断运行时环境是否运行在docker中

参考:How to determine if a process runs inside lxc/Docker?

确定进程是否在LXC/Docker中运行? (就是前一篇文章的翻译)

 

2.如何获取docker宿主机ip

docker容器中如何获取宿主机IP,连接宿主机的某个服务

如何从容器内部获取主机IP

Docker Network Configuration 高级网络配置

例如

docker run -d  --add-host hostip:"your public ip" -p 8095:8080 tomcat

docker inspect container_id 或者 docker inspect container_name

会发现多了一个字段 ExtraHosts

容器内部获取:
/sbin/ip route|awk '/default/ { print $3 }'

运行指定:
docker run -it  --env hostip="127.0.0.1" centos /bin/bash
查看
env

执行host
docker run -it  --add-host hostip:"127.0.0.1" centos /bin/bash
查看
cat /etc/hosts | grep hostip

 

另:除了docker ps -a 可以查看端口绑定之外

iptables -t nat -L -n 命令也可以。

 

posted on 2018-05-28 11:57  红无酒伤  阅读(7415)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3