❌docker-compose.yml
Docker Compose v2からは、compose.ymlになった
v1時代とv2時代の見分け方
1行目にversion:が指定されているものはv1時代のもの
v2からはその指定は不要になった
以下は、v1時代のメモ
2021/7/6現在の最新versionは3.8 ref
docs
docs日本語訳
例
code:docker-compose.yml
version: '3'
services:
mysql:
build:
context: ./product-service
ports:
- "8000:3000"
redis:
image: redis:4.0
ports:
- 6379:6379
command: redis-server --appendonly yes
networks:
- hoge-net
version
Compose file version 3
https://docs.docker.com/compose/compose-file/compose-file-v3/
https://docs.docker.jp/compose/compose-file/compose-file-v3.html
https://zenn.dev/goforbroke/articles/a041488b6e548c886535
docker-compose自体のversionと別物なの紛らわしい〜〜
services
serviceごとに設定を書いていく
上の例でのmysqlやredisがservice名になる
container_name
build
どのようにDocker Imageをbuildするのかの指定
context
Dockerfileを置いてある場所へのpath
environment
環境変数の定義
image
Docker Hubからimageをfetchする
networks
https://matsuand.github.io/docs.docker.jp.onthefly/compose/compose-file/compose-file-v3/#networks
Network を作成し、もし必要であれば、各サービスがどのネットワークに属しているべきかを特定できます。
Docker networkのこと?
ports
DockerのPort
Docker Container内部のどのPortが、どの外部Portに当たるかの設定
外部port:内部port
dockerのporstの指定は、外部port:内部port
volumes
compose.ymlのvolumes
depends_on
service間の依存関係を指定する
起動する順序などが変わる
https://matsuand.github.io/docs.docker.jp.onthefly/compose/compose-file/compose-file-v3/#depends_on
tty
tmpfs
#??
temp file system?
command
#??