如何在Puppet中使用yumrepo添加Docker回购?

如何在Puppet中使用yumrepo添加Docker回购?,puppet,Puppet,根据Docker文档,通过以下命令添加yum存储库列表: yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 我想让木偶帮我做这件事,所以我希望这能奏效: yumrepo { "docker": descr => 'docker', baseurl => 'https://download.docker.com/linux/

根据Docker文档,通过以下命令添加yum存储库列表:

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
我想让木偶帮我做这件事,所以我希望这能奏效:

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中?

docker说明中的URL是要安装在系统上的.repo文件的URL。此类文件的内容是
Yumrepo
资源的属性所描述的内容。应用
Yumrepo
资源涉及管理存储库描述文件的内容,而不是通过
yum config manager
或其他方式从其他地方获取外部文件

你有很多选择,但这里有一些更可能的选择:

  • 从docker.com获取指定的文件,将其存储在模块的
    文件
    目录中,并通过
    文件
    资源在目标节点上安装和管理该文件

  • 在同样具有Puppet的某个节点上安装repo文件,并使用该命令获取产生结果的Yumrepo资源的Puppet DSL表示。把这些放在一个合适的课堂上


或者,您也可以在
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
进入:

它看起来很简单,可以通过
sed
或其他工具从
docker ce.repo
文件生成一次

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',
}