Dockerメモ
前提知識
-
Dockerホスト
DockerEngineが動いているPCのこと
要は手元のPCのことで、macとかならDocker for macとかインストールされていれば、Dockerホストとなる -
マウント
ざっくりとだが、ファイル等を参照したりできる。取り付けるとか認識させると訳して読んでも差し支えない
バインドマウント
DockerホストのディレクトリやファイルをDockerコンテンナ内のディレクトリにマウントすること
ボリュームマウント
DockerEngin上に確保した領域をDockerコンテナにマウントさせる
確保した領域をデータボリュームもしくはボリュームという
-
保存場所の位置を意識する必要がなくなる
- Dockerホストは各自ディレクトリ構成が違ったりするため、保存場所の位置を意識する必要がある
-
データベースのデータを保存したりする時に便利
- コンテナが破棄されてもDockerEngine上にデータが残る
docker-compose.yml
~略~
database:
# 起動に失敗したら再起動する
restart: always
# Docker公式イメージを利用する
image: mysql:5.7.32
# M1macは指定する必要あり?エラーになる
platform: linux/x86_64
ports:
- 3306:3306
command: --default-authentication-plugin=mysql_native_password
volumes:
# DockerEngineに確保したvolumesにdatabaseコンテンナのデータをマウントする
- mysql-datavolume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
# ここの記述により、DockerEngine上にvolumesを作ることができる
volumes:
mysql-datavolume:
driver: local