入門docker 復習(4)

コンポーネント

network

Networkを使用する

  • nginxとphp-formのような複数プロセスを動かす必要がある場合、ソケットではなくネットワークで通信を行うことが推奨されている
  • Kubernetes,ECS,docker-composeのような各種オーケストレーションツールを使用する際に意識する必要がある

Driverの種類

  • ネットワークの振る舞いを2種類から定義することが可能
    • brige
      • Linuxカーネルのbridgeネットワークを使用する機能
      • 指定なしでContainerを起動するとdocker0のネットワークに所属する
    • host
      • ホストマシンのeth0を使用する
    • none
      • 起動したコンテナをネットワークに所属させない設定
  • 1プロセスは1コンテナ、複数コンテナはネットワークを通して通信を行う

volume

volumeについて

  • データを永続化するための機能
  • コンテナ上で作成されたファイルはライフサイクルの終了と共に消える
  • Volumeはデータ保存、永続化のために設計されており、コンテナのライフサイクルとは独立してファイルの管理を行う

volumeType

  • Data Volume
    • ライフサイクルの外で管理されるファイル/ディレクトリの設定
    • -v <CONTAINER PATH>
  • Data Volume Container

    • 他のDockerContainerで指定されているVolumeを参照・共有するための機能
  • Dockerはエフェメラル(一時的)になるように設計されているため、Volumeは使用しないことが望ましい