我正在尝试自动预配置docker的VM。
我的默认init.pp看起来像:
class { 'apt':
always_apt_update => true,
}
package { [
#'build-essential',
#'vim',
#'curl',
#'zsh',
#'git-core',
#'htop',
#'wget',
#'linux-image-generic-lts-raring',
'python-software-properties'
#'lxc-docker'
]:
ensure => 'installed',
}
apt::ppa { 'ppa:dotcloud/lxc-docker':}
# refresh apt source
exec { "apt-update":
command => "/usr/bin/apt-get update && apt-get install lxc-docker --force-yes",
returns => 100
}
最后一个exec命令返回(我认为成功的apt-get更新默认为返回100):
信息:/ Stage [main] // Apt :: Ppa [ppa:dotcloud / lxc-docker] / Exec [add-apt-repository-ppa:dotcloud / lxc-docker]:计划刷新Exec [apt_update]的通知:/ Stage [main] / Apt :: Update / Exec [apt_update] / returns:成功执行注意:/ Stage [main] / Apt :: Update / Exec [apt_update]:从1个事件中触发了“刷新”
但是,当我将ssh插入框中时,尚未安装并运行docker,则apt-get install lxc-docker
可以安装它。我究竟做错了什么?我似乎无法使其与多种不同的配置一起使用。
Exec['apt_update']
从PPA安装的软件包进行要求。在Package之前要求PPA不会强制Exec与Package之间的关系。