是否可以在Docker容器中使用cloud-init和heat-cfntools?

时间:2015-02-11 14:03:54

标签: docker openstack dockerfile openstack-heat

我想使用OpenStack Heat创建一个由多个Docker容器组成的应用程序,并监控这些容器的一些指标,如:CPU /内存利用率和其他特定于应用程序的指标。

在通过Dockerfile准备Docker镜像时,是否可以安装cloud-init和heat-cfntools,然后根据运行了cloud-init和heat-cfntools的映像运行Docker容器?

谢谢!

2 个答案:

答案 0 :(得分:2)

  

通过Dockerfile准备Docker镜像时,可以安装cloud-init和heat-cfntool

如果您(a)安装了cloud-init的映像,(b)配置了正确的命令,则在Docker容器中使用cloud-init 可能您的ENTRYPOINTCMD脚本,以及(c)您的容器正在具有可用元数据服务的环境中运行。

在这些要求中,(c)可能是最成问题的;除非您使用nova-docker驱动程序启动容器,否则您的容器不太可能访问Nova元数据服务。

我对heat-cfntools并不是特别熟悉,虽然快速浏览代码表明,可能在没有cloud-init的情况下通过使用ec2-对Heat CFN API进行身份验证来工作样式凭据,您可能需要通过环境变量或其他东西提供。

也就是说,在Docker容器中运行cloud-init通常要少得多,理论上如果你需要自定义图像,你将使用Dockerfile根据该图像构建一个新的并重新部署,或通过环境变量指定任何必要的附加配置。

答案 1 :(得分:0)

如果您的工具需要主机上的监控流程,您可能希望使用

运行
docker run --pid=host

这是Docker Engine 1.5版中引入的一项功能。

请参阅http://docs.docker.com/reference/run/#pid-settings