コンテナーのネットワーク無効化

コンテナーにおけるネットワーク機能を完全に無効にしたい場合は、コンテナーの起動時に--network noneを指定します。 コンテナー内部では、ループバックデバイスだけが生成されます。 以下にこの例を示します。

  1. コンテナーを生成します。

    $ docker run --rm -dit \
      --network none \
      --name no-net-alpine \
      alpine:latest \
      ash
    
  2. コンテナーのネットワーク機能を確認します。 これには、コンテナー内において標準的なネットワークコマンドを実行します。 なお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 つめのコマンドは何も返しません。 ルーティングテーブルがないためです。

  3. コンテナーを停止します。 --rmフラグを使って生成しているため、コンテナーは自動的に削除されます。

    $ docker stop no-net-alpine
    

次のステップ

network, none, standalone