【发布时间】:2016-10-19 13:15:09
【问题描述】:
我刚开始使用 Packer,想构建 AMI 和 Docker 映像。
问题是 - Docker 的 Ubuntu 映像没有 sudo,因此 - 构建失败并出现错误:
docker: /tmp/script_2085.sh: 3: /tmp/script_2085.sh: sudo: 未找到
是否有任何方法可以为shell 配置程序添加一些“条件”以在有或没有sudo 的情况下运行cmds,具体取决于builder?
目前 - 我的模板有:
...
"provisioners": [{
"type": "shell",
"inline": [
"sleep 30",
"sudo apt-get update",
"sudo apt-get install -y nginx"
]
}]
...
添加类似:
if which sudo; then sudo apt-get update && sudo apt-get install -y nginx; else apt-get update && apt-get install -y nginx; fi
看起来太奇怪的解决方案...我敢肯定 - Packer 有能力以更好的方式做到这一点。
【问题讨论】:
标签: packer