使用 Chef 设置 apt 存储库

p.m*_*aes 3 chef-infra chef-recipe docker

我正在创建一个在 Ubuntu 14 上安装 docker 的方法。

如何将上面的命令翻译给厨师?}

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Run Code Online (Sandbox Code Playgroud)

因此使用 apt-repository 资源:

apt_repository "???" do
  uri ???
  distribution ???
  components ???
  keyserver "hkp://p80.pool.sks-keyservers.net:80"
  key "58118E89F3A912897C070ADBF76221572C52609D"
end
Run Code Online (Sandbox Code Playgroud)

Ste*_*ing 5

与 @kaboom 相比,我会推荐 Chef 维护的(更现代的)apt食谱,它也允许设置存储库。语法基本相同。

这是我安装 Docker 的方式(在 Debian 上):

apt_repository "docker" do
  uri "https://download.docker.com/linux/ubuntu"
  distribution "#{node['lsb']['codename']}"
  components ["stable"]
  key "https://download.docker.com/linux/ubuntu/gpg"
end
Run Code Online (Sandbox Code Playgroud)

编辑:从12.9开始,这也可以在 Chef 核心中使用,而无需任何食谱。

EDIT2:当然,如果您想这样指定,您也可以提供keyserver和参数。key_id

EDIT3:截至 2023 年 5 月 21 日正确的 docker URI 和密钥