ただ日々を記すもの

意識高めを装うことができます

Dockerまとめ2

docker-compose

複数のコンテナを起動するとき、コンテナごとに構成や起動/停止を管理していると運用が煩雑になり大変... そこでdocker-composeを使用する。

docker-composeは、複数のコンテナ(DB用やwebサーバー, logのコンテナ)をまとめて管理するためのツール。

構成ファイルは docker-compose.yml

docker-compose.ymlにはimageかbuildを必ず指定する

imageの指定

webserver:
  image: centos:latest

imageの構成をDockerfileに書いて、それを自動でビルドしてベースイメージに指定することもできる

webserver:
  build: .

buildにはdocker-compose.ymlのあるディレクトリをカレントディレクトリとした時のDockerfileの場所を指定。

コマンド

  • command コンテナで動かすコマンドを指定
command: /bin/bash
  • links

同一のdocker-compose.ymlに定義がある

links:
  - dbserver
  - dbserver:mysql # 別名を定義
  • external_links 同一のdocker-compose.ymlに定義がない
external_links:
  - redis
  - project_db:mysql
  • ports/expose
ports:
  - "3000"
  - "8000:8000"

ホストマシンへポートを公開せず、リンク機能を使って連携するコンテナにのみポートを公開する場合はexpose

expose:
  - "3000"
  - "8000"