コンテナーのネットワーク無効化
コンテナーにおけるネットワーク機能を完全に無効にしたい場合は、コンテナーの起動時に--network none
を指定します。
コンテナー内部では、ループバックデバイスだけが生成されます。
以下にこの例を示します。
-
コンテナーを生成します。
$ docker run --rm -dit \ --network none \ --name no-net-alpine \ alpine:latest \ ash
-
コンテナーのネットワーク機能を確認します。 これには、コンテナー内において標準的なネットワークコマンドを実行します。 なお
eth0
は生成されていません。$ docker exec no-net-alpine ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1 link/ipip 0.0.0.0 brd 0.0.0.0 3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN qlen 1 link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
$ docker exec no-net-alpine ip route
2 つめのコマンドは何も返しません。 ルーティングテーブルがないためです。
-
コンテナーを停止します。
--rm
フラグを使って生成しているため、コンテナーは自動的に削除されます。$ docker stop no-net-alpine
次のステップ
- ホストネットワークチュートリアル を一通り読む
- コンテナーから見たネットワーク について
- ブリッジネットワーク について
- オーバーレイネットワーク について
- Macvlan ネットワーク について