根据Docker文档,此命令添加了yum存储库列表:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
我想让Puppet为我做这件事,所以我希望这会有效:
yumrepo { "docker":
descr => 'docker',
baseurl => 'https://download.docker.com/linux/centos/docker-ce.repo',
enabled => 1
}
但是,这不起作用。
不幸的是,yum-config-manager中使用的URL包含name / baseurl / enabled / gpgcheck / gpgkey条目的完整列表,其中yumrepo只期待其中一个。那么,有没有办法用一个yumrepo命令或其他命令在docker URL中添加整个条目列表?
答案 0 :(得分:0)
Docker说明中的URL是要在系统上安装的.repo文件的URL。 此类文件的内容是Yumrepo
资源的属性描述的内容。应用Yumrepo
资源涉及管理存储库描述文件的内容,而不是通过yum-config-manager
或其他方式从其他地方获取外部文件。
你有很多选择,但这里有一些更可能的选择:
从docker.com获取指定文件,将其存储在模块的files
目录中,并通过File
资源在目标节点上安装和管理它。
在某个也有Puppet的节点上安装repo文件,并使用puppet resource
命令获取结果的Yumrepo资源的Puppet DSL表示。把它们放在主人的合适课堂上。
答案 1 :(得分:0)
或者,您可以在 docker-ce.repo
内达到峰值并编写适当的 yumrepo 配置:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
进入:
yumrepo { 'docker-ce-stable':
name => 'Docker CE Stable',
baseurl => 'https://download.docker.com/linux/centos/$releasever/$basearch/stable',
enabled => 1,
gpgcheck => 1,
gpgkey => https://download.docker.com/linux/centos/gpg',
}
看起来很简单,可以通过 docker-ce.repo
或其他工具从 sed
文件生成一次。