Puppet を使う

注釈

このインストール方法は、コミュニティからの貢献です。 公式の インストール方法は Ubuntu を使います。このバージョンは情報が古いかもしれません。

動作条件

このガイドを利用するには、 Puppet Labs が提供する Puppet をインストールする必要があります。

また、現時点の公式パッケージが利用できるモジュールは、 Ubuntu 向けのみです。

インストール

モジュールは Puppet Forge のものが使えます。内部モジュールのツールを使ってインストールします。

$ puppet module install garethr/docker

また、ソースをダウンロードするには、 GitHub も使えます。

使い方

モジュールは Docker をインストールする puppet クラスを提供し、イメージとコンテナを管理するために2つのタイプを定義します。

インストール

include 'docker'

イメージ

次の手順でほとんどの Docker イメージをインストールします。この例では、次のように使用するタイプを定義しています。

docker::image { 'ubuntu': }

これは、次のコマンドと同等です。

$ docker pull ubuntu
docker::image { 'ubuntu':
  ensure => 'absent',
}

コンテナ

これで、Docker によって管理されるコンテナ内で、コマンドを実行するイメージができます。

docker::run { 'helloworld':
  image   => 'ubuntu',
  command => '/bin/sh -c "while true; do echo hello world; sleep 1; done"',
}

これは upstart 下での次のコマンドと同等です。

$ docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

注釈

portsenvdnsvolumes の属性は文字で指定するか、先ほどの配列の値で指定します。