はじめに
本記事は、プログラミング初学者、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
docker-compose.ymlのvolumesのlong syntaxとshort syntaxの違い
long syntax
docker-compose.yml
db:
image: mysql:8.0.28
command: --default-authentication-plugin=mysql_native_password && bash -c "chmod +x /docker-entrypoint-initdb.d/00_grant.sh"
healthcheck:
test: mysqladmin ping -h db -u$${MYSQL_USER} -p$${MYSQL_PASSWORD}
interval: 1s
restart: on-failure
volumes:
- mysql_data:/var/lib/mysql
- type: bind
source: ${MY_CNF_PATH}
target: /etc/mysql/conf.d/my.cnf
- type: bind
source: ${INITDB_PATH}
target: /docker-entrypoint-initdb.d
起動時にホストに指定したファイルが存在しない場合にはエラーが発生する。
short syntax
docker-compose.yml
api:
build: .
volumes:
- .:/myapp
起動時にホストに指定したファイルが存在しない場合には自動的にファイルが作成される。