通过Puppet安装docker-ce

4

我正在尝试通过Puppet安装docker-ce,有几个问题:

1:apt::key后面是否自动执行'apt-get update'?

2:如何使用apt:ppa模块添加docker-ce 仓库?下面是具体步骤:

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

但是我该如何使用apt::ppa来包含发布版和发行版呢?

这是整个Puppet块:

class docker {

  $prerequisites = ['apt-transport-https', 'ca-certificates', 'curl']
  package { $prerequisites: ensure => installed}

  apt::key { 'docker-ce':
    ensure    => present,
    id        => '9DC858229FC7DD38854AE2D88D81803C0EBFCD88',
    options   => 'https://download.docker.com/linux/ubuntu/gpg',
  }

  apt::ppa {''}

  package {'docker-ce': ensure  => installed}
}

编辑:

最终我使用了apt模块和apt::source,硬编码发布版本,因为我知道所有的系统都将运行它。

class docker {
  include apt

  $prerequisites = ['apt-transport-https', 'ca-certificates']
  package { $prerequisites: ensure => installed} ->

  apt::key { 'docker-ce':
     ensure    => present,
     id        => '9DC858229FC7DD38854AE2D88D81803C0EBFCD88',
     options   => 'https://download.docker.com/linux/ubuntu/gpg',
  } ->

  apt::source {'docker-ce':
     location  => 'https://download.docker.com/linux/ubuntu',
     release   => 'xenial'
  } ->

  exec { 'apt-get-update':
     command   => '/usr/bin/apt-get update'
  } ->

  package {'docker-ce': ensure  => installed}
}

有一个“已批准”的模块可用于使用Puppet安装Docker,可能值得先尝试。如果不行,它是开源的,您可以在Github上查看他们的操作方式。 - Roman
看起来它似乎没有安装docker-ce,但我会看看他们是如何做的,看看能否从中提取一些信息。谢谢@R0MANARMY - A.Jac
它肯定安装了docker-ce。 - Matt Schuchard
@MattSchuchard 确实如此。我最终使用了带有apt::source的apt模块。 - A.Jac
对于 Ubuntu64,我不得不在 apt::source 的 'location' URL 中添加 [arch=amd64],否则它会一直告诉我找不到 'docker-ce' 包。 - Iosu S.
AND 发布 => 'xenial stable' - Iosu S.
1个回答

3
这是我安装的步骤:

以下是我的安装步骤:

  apt::key { '9DC858229FC7DD38854AE2D88D81803C0EBFCD88':
    source => 'https://download.docker.com/linux/ubuntu/gpg',
  } ->
  apt::source { 'docker-ce':
    architecture => 'amd64',
    location     => 'https://download.docker.com/linux/ubuntu',
    repos        => 'stable',
    release      => $::lsbdistcodename,
  } ->
  package { 'docker-ce':
    ensure  => 'latest',
    require => Exec['apt_update'],
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接