是否有可能在Docker容器中使用cloud-init和heat-cfntools?
我想使用OpenStack Heat来创build一个由多个Docker容器组成的应用程序,并监视这些容器的一些指标,如:CPU / Mem利用率以及其他特定于应用程序的指标。
那么,在通过Dockerfile准备Docker镜像时,可以安装cloud-init和heat-cfntools,然后根据运行cloud-init和heat-cfntools的镜像运行一个Docker容器?
谢谢!
那么在通过Dockerfile准备Docker映像时,可以安装cloud-init和heat-cfntools
(a)有安装了cloud-init
的映像,(b)在你的ENTRYPOINT
或CMD
脚本中configuration了正确的命令,以及(c)你的容器正在运行,所以可以在Docker容器中使用cloud-init
在具有可用元数据服务的环境中。
在这些要求中,(c)可能是最有问题的; 除非您使用nova-docker
驱动程序启动容器,否则您的容器不太可能访问Nova元数据服务。
我不是特别熟悉heat-cfntools
,虽然快速浏览代码表明它可以在没有cloud-init
通过使用ec2样式的凭据进行authentication,而您可能需要通过环境variables或一些东西。
也就是说,在Docker容器中运行cloud-init通常要less得多,理论上说,如果你需要定制一个镜像,你将使用一个Dockerfile来构build一个基于该镜像的新镜像并重新部署,或通过环境variables指定任何必要的附加configuration。
如果您的工具需要监视主机上的进程,您可能需要运行
docker run --pid=host
这是Docker Engine版本1.5中引入的function。