判斷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 命令也可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM