LoginSignup
36
42

More than 5 years have passed since last update.

docker compose使ってみた

Posted at

Docker Composeが正式公開されたということで、早速使ってみました。なと、Dockerはインストール済みってことでだいぶ端折って書いています。

インストール

私の試した環境はCentOS 6.6でしたが、以下でさくっと完了しました。楽チン

curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose.yml

基本的には公式ドキュメントを読めば、Dockerをそこそこ触ったことがあれば詰まるようなところはないかと。

app:
  image: localhost:5000/webapp
  volumes:
    - /path/to/host:/path/to/container
  net: "host"
redis:
  image: redis
  volumes:
    - /path/to/host/data:/data
  net: "host"

地味にハマったところがvolumesのところで、Array形式で書かなかったら動かなかったという。。ドキュメントはちゃんと読みましょうorz

appのimageは、Private Registryからイメージを取得する感じになっています(Private RegistryもDockerコンテナなのでとっても便利)。

ちなみに、いちいちポート指定するのが面倒になってきたので、--net=hostをよく使っています。

起動

docker-compose.ymlのあるディレクトリで以下を実行すればコンテナが起動します。

docker-compose up -d

蛇足ですがdオプションはデーモン起動させるためです。

起動したかどうか確認するには、普通にdocker psでもいいし、以下でも大丈夫でした。

docker-compose ps

ymlファイルの記述がミスっていてゴミが残って再起動できないときがあって、その時は以下で解決しますた。

docker-compose rm

感想とか

  • とても便利。こういうのを欲していた感。
  • オーケストレーションツールは他にも色々出てきていて、お仕事で使うにはどれを選択するか、現状なかなか悩ましい状況ですね。ベータ版のものも多いし。。
  • 私の場合は、まずは開発開発用にNginx + webapp + Fluentd + Redis + Mysqlみたいな、必要なもの全部入りのdocker-compose.ymlを作ってみる使い方になりそうです。
    • 今までひとつずつ起動してたのが楽になりそう
  • 次はDocker Swarmを使ってみよう
36
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
42