Docker
Dockerはネットワーク隔離されたコンテナ同士を繋ぐネットワーキング機能を持つ。
DockerコンテナはLinux名前空間(英語版)を利用してコンテナをホストのネットワークから隔離している。そのためネットワーク設定をnoneにした場合、外部からのネットワークアクセスができない。これは隔離環境という意味では理想的だが、コンテナ間の協調による機能提供ができない。そこでDockerエンジンはネットワークドライバーによるネットワークの提供を行っている。
主に用いられるドライバはbridgeである。ユーザー定義bridgeネットワークは所属コンテナへのIPアドレス提供とコンテナ名によるドメイン名解決 (automatic service discovery) を提供する。また--alias オプションを利用することで1つのドメイン名に複数のコンテナを紐づけることができ、DNSラウンドロビンが可能である。
Dockerは揮発性のコンテナに対して永続化可能なストレージを提供している。そのマウントは実装方法により以下に分類される。
Volumes: ホストのファイルシステム内でDockerが管理する領域に保存される。推奨されるマウントタイプ
Bind mounts: ホストの任意の場所に保存される。Docker以外のホストプロセスも操作しうる
tmpfs mounts: ホストのメモリ上に保存される(ホストで揮発性)