Chef を使う

注釈

このインストール方法に関するドキュメントは、コミュニティによる貢献です。

動作条件

このガイドを使う前に、 Chef のインストール作業が必要です。cookbook は様々なオペレーティング・システムに対応しています。

インストール

Chef Supermarket 上の cookbook が利用可能です。そして、好みの cookbook 依存関係マネージャ(dependency manager)を使ってインストールできます。

ソースは GitHub 上にあります。

使い方

  • 自分の cookbook の metadata.rb に depends 'docker', '~> 2.0' を追加します。
  • cookbook のレシピに送信するリソースを指定します。同様にコア Chef リソースも使えます(file、template、directory、package 等)。
docker_service 'default' do
  action [:create, :start]
end

docker_image 'busybox' do
  action :pull
end

docker_container 'an echo server' do
  repo 'busybox'
  port '1234:1234'
  command "nc -ll -p 1234 -e /bin/cat"
end

はじめましょう

こちらの例は、最新のイメージを取得し、コンテナ実行時にポートを公開します。

# Pull latest image
docker_image 'nginx' do
  tag 'latest'
  action :pull
end

# Run container exposing ports
docker_container 'my_nginx' do
  repo 'nginx'
  tag 'latest'
  port '80:80'
  binds [ '/some/local/files/:/etc/nginx/conf.d' ]
  host_name 'www'
  domain_name 'computers.biz'
  env 'FOO=bar'
  subscribes :redeploy, 'docker_image[nginx]'
end

参考

Quickstart Docker Engine
https://docs.docker.com/engine/quickstart/