是否可以从docker容器中获取主机详细信息?

时间:2015-04-26 18:49:07

标签: docker

是否可以从docker中获取主机信息,例如

  1. HOST Machine的IP(eth0&#s; IP not docker0' s)
  2. HOST机器中的可用RAM
  3. 等,

    提前致谢

1 个答案:

答案 0 :(得分:3)

通常不可能 - 它会打破Docker提供的隔离。

在本文中,您可以看到来自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地址(AFAIK),但您可以通过环境变量传递此信息:”

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=/

在EC2上,您可以访问实例的元数据:

Fetching AWS instance metadata from within Docker container?

特别是:

$ 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