[英]How do i use yumrepo in Puppet to add the Docker repos?
根據 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 中添加整個條目列表?
Docker 說明中的 URL 是要安裝在系統上的 .repo 文件的 URL。 此類文件的內容是Yumrepo
資源的屬性所描述的內容。 應用Yumrepo
資源涉及管理存儲庫描述文件的內容,而不是通過yum-config-manager
或其他方式從其他地方獲取外部文件。
您有很多選擇,但這里有一些更可能的選擇:
從 docker.com 獲取指定的文件,存放在你模塊的files
目錄中,並通過File
資源在目標節點上安裝和管理。
在某個也有 Puppet 的節點上安裝 repo 文件,並使用puppet resource
命令獲取結果的 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
進入:
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',
}
它看起來很簡單,可以通過sed
或其他工具從docker-ce.repo
文件生成一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.