我正在尝试使用Vagrant创建一个开发环境,它依赖于在Docker容器中运行的某些应用程序。
所需的环境是Ubuntu12.04LTS,它映射为Vagrant中的precise64框。问题在于确保以下方面:
我正在尝试使用木偶提供盒子,但我想不出一种方法来确保执行以下命令:
apt-get install linux-image-generic-lts-saucy linux-headers-generic-lts-saucy
reboot显然,我需要重新启动该框才能加载和运行新内核。
是否有一种方法可以将这些项定义为木偶中的依赖项?
我想做这样的事:
package { "lxc-docker":
/* ... */
requires => Package["lts-kernel-saucy"]
}对我如何完成这件事有什么想法吗?
发布于 2014-10-27 17:46:59
这里最好和最简单的解决方案是通过运行正确的内核来使用支持Docker的Vagrant。
发布于 2014-04-01 15:10:51
如果apt-get是正在使用的包管理器木偶,那么您可以尝试以下操作:
# Create an array of package names that need to be installed
$mypack = [ "linux-image-generic-lts-saucy", "linux-header-generic-lts-saucy", "lts-kernel-saucy" ]
# Install all the packages
package { $mypack :
ensure => installed,
}
# Install other package that depends on the packages above :
package { "lxc-docker" :
ensure => installed,
requires => Package[$mypack],
}
# Create an `exec` that will reboot the machine if a new package is installed
# `refreshonly` sits there waiting for something new to happen
exec { "reboot_machine" :
command => "shutdown -r now",
path => "/bin:/usr/sbin:/sbin:/usr/local/sbin",
subscribe => Package ["lxc-docker"],
refreshonly => true,
}https://stackoverflow.com/questions/22773325
复制相似问题