我想使用 OpenStack Heat 创建一个由多个 Docker 容器组成的应用程序,并监控这些容器的一些指标,例如:CPU/Mem 利用率和其他特定于应用程序的指标。
那么是否可以在通过 Dockerfile 准备 Docker 镜像时安装 cloud-init 和 heat-cfntools,然后基于运行了 cloud-init 和 heat-cfntools 的镜像运行 Docker 容器?
谢谢!
我想使用 OpenStack Heat 创建一个由多个 Docker 容器组成的应用程序,并监控这些容器的一些指标,例如:CPU/Mem 利用率和其他特定于应用程序的指标。
那么是否可以在通过 Dockerfile 准备 Docker 镜像时安装 cloud-init 和 heat-cfntools,然后基于运行了 cloud-init 和 heat-cfntools 的镜像运行 Docker 容器?
谢谢!
那么在通过 Dockerfile 准备 Docker 镜像时是否可以安装 cloud-init 和 heat-cfntools
可以在 Docker 容器中使用,如果您 (a) 安装了映像,(b) 在您的或脚本中配置了正确的命令,并且 (c) 您的容器在具有可用元数据服务的环境中运行.cloud-init
cloud-init
ENTRYPOINT
CMD
在这些要求中,(c) 可能是最成问题的;除非您使用nova-docker
驱动程序启动容器,否则您的容器不太可能访问 Nova 元数据服务。
我不是特别熟悉heat-cfntools
,尽管快速浏览一下代码表明它可以在没有cloud-init
使用 ec2 样式凭据对 Heat CFN API 进行身份验证的情况下工作,您可能需要通过环境变量或其他方式提供这些凭据。
也就是说,在 Docker 容器中运行 cloud-init 的必要性通常要小得多,理论上如果您需要自定义映像,您将使用 Dockerfile 基于该映像构建一个新的并重新部署,或通过环境变量指定任何必要的附加配置。
如果您的工具需要在主机上监控进程,您可能希望使用
docker run --pid=host
这是 Docker Engine 1.5 版中引入的一个功能。