1.判断运行时环境是否运行在docker中
参考:How to determine if a process runs inside lxc/Docker?
确定进程是否在LXC/Docker中运行? (就是前一篇文章的翻译)
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 命令也可以。