我想使用OpenStack Heat创建一个由多个Docker容器组成的应用程序,并监控这些容器的一些指标,如:CPU /内存利用率和其他特定于应用程序的指标。
在通过Dockerfile准备Docker镜像时,是否可以安装cloud-init和heat-cfntools,然后根据运行了cloud-init和heat-cfntools的映像运行Docker容器?
谢谢!
答案 0 :(得分:2)
通过Dockerfile准备Docker镜像时,可以安装cloud-init和heat-cfntool
如果您(a)安装了cloud-init
的映像,(b)配置了正确的命令,则在Docker容器中使用cloud-init
可能您的ENTRYPOINT
或CMD
脚本,以及(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版中引入的一项功能。