#
ドキュメント

Document

自分のための備忘録です。

Docker ネットワーク

ネットワーク作成

  • 同一ネットワークに配置したコンテナは、コンテナ名で通信可能
  • Docker Composeの場合は、service名で通信可能

ネットワーク作成

$ docker network create {{network_name}}
  • ネットワークが追加されるとbr-で始まるネットワーク・インターフェースNIC)が付与
  • Dockerホストでifconfigで確認

アクセスしたときのNICの優先順位

ネットワークにコンテナ配置

$ docker run  -dit --name {{container_name}} --net {{network_name}} -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/

※ 上記はDocker Hubのhttpd:2.4.46から作成したコンテナを例に説明している

  • httpd:2.4.46のドキュメントルートは、/usr/local/apache2/htdocs/の記載がある

デフォルトネットワーク

$ docker network ls

Docker のインストールは、自動的に3つのネットワークを作成します。ネットワーク一覧を表示するには docker network ls コマンドを使います。

https://docs.docker.jp/engine/userguide/networking/dockernetworks.html

IPマスカレード

  • IPマスカレード(=NAPT(Network Address and Port Translation)):LinuxのNAPT実装をIPマスカレードと呼ぶ
  • iptablesコマンド

natを確認

$ sudo iptables --list -t nat -n

ping&cURL&ipconfigをインストール

$ apt update -y && apt upgrade -y
$ apt install -y iproute2 iputils-ping curl

ipconfigは、net-toolsに含まれている。

$ apt install net-tools

ホストOSに追加されるbrige0

Dockerをインストールすると、ホストOSに、docker0というbridgeネットワークが追加される。

  • これは上述の$ docker network createで作成するネットワークと混同しない
  • $ docker network lsで表示されない