はじめに
おはようございます。最近LLMやworldCoinが出てきて忙しいponponnsanです。
ほんとに世界ちょっとまってほしい...
さて、今回は、
DockerComposeを理解してみるの続きになります。前回の課題の解消に焦点を当てています。
参考文献は前回と同じく以下の本になります。
ボリュームマウントとバインドマウントの違い
ボリュームマウント
Dockerの領域内にボリュームを作成し、コンテナにマウントする。
手軽に扱えるが、直接操作しづらい。慣れれば手軽なため、Docker社はこちらを推奨
バインドマウント
Dockerをインストールしたローカルのディレクトリやファイルをコンテナにマウントする。
直接ファイルを置いたり開いたりできるため、頻繁に触りたいファイルはバインドマウントの方がいい。
docker-compose.yml
version: '3.9'
services:
web:
image: your_web_image:latest
ports:
- "80:80"
volumes:
# ボリュームマウント
# ボリューム名:コンテナの記憶領域パス
- your_volume_name:/var/www
# バインドマウント
# ローカルのパス:コンテナの記憶領域パス
- /path/to/host/dir:/var/www
volumes:
your_volume_name:
ネットワークの設定
docker-compose.yml
networks:
# ネットワークの名前
my_network_1:
# このネットワークで使用するネットワークドライバの種類を指定する。
# この場合は、Dockerのデフォルトのブリッジドライバが使用される。
driver: bridge
# IP Address Management (IPAM) の設定を指定する。
# ネットワーク上のIPアドレスの割り当てと管理が可能となる。
ipam:
config:
# このネットワークで使用するサブネットを指定。
# このネットワーク上のコンテナが使用できるIPアドレス範囲を定義する。
- subnet: 172.20.0.0/16
# このネットワークのデフォルトゲートウェイを指定。
# このネットワーク上のコンテナが外部ネットワークにアクセスする際のルーティングポイントとなる。
gateway: 172.20.0.1
my_network_2:
driver: bridge
ipam:
config:
- subnet: 172.30.0.0/16
gateway: 172.30.0.1