Blog 
2026年7月15日 - 5 MIN READ

dockerコンテナの仕組みを理解する
dockerの仕組みを理解する
dockerネットワークの仕組みを理解する
dockerはなんかよくわかんねーけどマシン内で仮想マシンっぽい何かを作る技術だ。 cgroupやネームスペース、chroot等のカーネルAPIを使用することで実現しているが、今回はネットワークをどうやって実現しているか図解して理解した。
ネットワーク
ネットワークのネームスペースを分けることによりこのような形でネットワークが分断されている。

この図を見るとホストがNATのように振る舞っていることが分かるし、
ホスト上で ip addr show コマンドを打つとdockerという名前のNIC(Network Interface Card)がなぜ存在するか分かる。
よく初心者がミスるコンテナ上でホストのプロセスを叩こうとして localhost に通信しようとしたのに何故かアクセスできないのもこの図を見ればよく理解できる。
コンテナからネットワークに出ていく通信に制限を加える場合は nftables の forward に入れなければいけないことも注意だ。