是否可以从Docker内部获取主机信息,例如
- 主机的IP地址(eth0的IP而不是docker0的IP)
- 主机上可用的RAM
等等。
提前感谢您。
是否可以从Docker内部获取主机信息,例如
等等。
提前感谢您。
https://blog.docker.com/2014/06/docker-container-breakout-proof-of-concept-exploit/
然而,有各种解决方法:
http://blog.michaelhamrah.com/2014/06/accessing-the-docker-host-server-within-a-container/
建议采用以下方法:"虽然无法内省主机的IP地址(据我所知),但可以通过环境变量传递该地址:"
docker@boot2docker:~$ docker run -i -t -e DOCKER_HOST=192.168.59.103 ubuntu /bin/bash
root@07561b0607f4:/# env
HOSTNAME=07561b0607f4
DOCKER_HOST=192.168.59.103
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
$ curl http://169.254.169.254/latest/meta-data/hostname
ec2-203-0-113-25.compute-1.amazonaws.com
其他元数据选项在此处列出:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
docker run -it -p 9200:9200 -p 9300:9300 -e HOST_IP=$(hostname --ip-address) shan/elk:latest
我的用例是,在docker内运行elasticsearch,并且需要将主机的IP传递给elasticsearch中的network.publish_host:
参数。 如果不传递HOST_IP,则自动发现无法正常工作。 非常感谢,Donald。 - Shancurl http://169.254.169.254/latest/meta-data/local-ipv4
获取实例IP。 - Shan