我有一个打算在Docker容器中运行的节点应用程序。我正在使用打包程序来构建镜像,因此没有使用Dockerfile。我想在运行容器时默认启动节点应用程序。 DockerFile具有“CMD”来实现这一点。我在Packer的文档中找不到与此相关的任何内容(即指定Packer builder json的后期处理)。谷歌搜索最终找到了像https://github.com/cornfeedhobo/packer-post-processor-docker-dockerfile这样的插件(其中提到打包程序倾向于支持它)
我敢肯定有人在docker上使用packer之前就遇到过这种情况。有任何线索如何在打包程序的docker构建中具有与DockerFile等效的CMD吗?
最佳答案
您应该使用changes
{
"type": "docker",
"image": "ubuntu",
"commit": true,
"changes": [
"CMD [\"nginx\", \"-g\", \"daemon off;\"]",
"ENTRYPOINT /var/www/start.sh"
]
}
参见this example in the docs
关于docker - 在Packer的Docker Build中相当于DockerFile的CMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48717326/