【发布时间】:2020-06-03 15:36:40
【问题描述】:
是否可以使用 cloud-init 配置文件来定义 docker 容器启动时要执行的命令?
我想使用 docker 容器测试 Ubuntu 虚拟机的配置。 我的想法是为 Ubuntu docker 容器提供相同的 cloud-init 配置文件。
【问题讨论】:
标签: docker ubuntu cloud-init
是否可以使用 cloud-init 配置文件来定义 docker 容器启动时要执行的命令?
我想使用 docker 容器测试 Ubuntu 虚拟机的配置。 我的想法是为 Ubuntu docker 容器提供相同的 cloud-init 配置文件。
【问题讨论】:
标签: docker ubuntu cloud-init
没有。如果要测试 VM 设置,则需要使用实际的虚拟化技术。 VM 和 Docker 运行时环境非常不同,您不能只用一种技术替代另一种技术。正常的 Linux 虚拟机启动会运行大量的守护进程和启动脚本——systemd、crond、sshd、ifconfig、cloud-init,...——但是 Docker 容器会启动其中的none,并且只会在容器中运行单个进程。
如果您的 cloud-init 脚本最终运行的是 docker run 命令,您可以像在开发系统上使用 docker run 一样为该容器提供替代命令。但是 Docker 容器通常不会去像 EC2 元数据服务这样的地方找到自己的配置,而且容器运行 cloud-init 是不寻常的。
【讨论】: