Docker/Kubernetes 実践コンテナ開発入門を読んでいる(-p82)

Docker Composeの下まで読んだ。

Docker Compose

複数のコンテナ実行を一括管理できる。

docker-compose.yml

Docker Composeの設定ファイル。 https://docs.docker.com/get-started/part3/#your-first-docker-composeyml-file

起動と停止

docker-compose.ymlのあるディレクトリでdocker-compose upで起動、docker-compose downで停止。 upで起動したコンテナはdownで全部停止できる。

直接buildもできる

services.サービス名.buildにDockerfileがあるディレクトリを指定すると、まだイメージがなくてもそのDockerfileを使ってビルドしたイメージを使ってコンテナを起動できる。

ホストとコンテナでファイルを共有

services.サービス名.volumesに指定したディレクトリがコンテナ/ホスト間で共有される。

volumes:
  - ./test:/sample

で、ホストのカレント直下のtestが、コンテナ側の/sampleと共有される。

要するにローカルのストレージになんか永続化するようなイメージで、その領域をホストと共有しとくとコンテナ停止して再起動しても残ったデータをそのまま使える。

コンテナ間通信

docker-compose.ymlのサービスにlinksを定義して、コンテナ名を指定するとlinksに指定したコンテナ間での通信ができる。