ネットワークに、 none
を指定する。そうするとコンテナはNICが刺さってない状態のマシンと同じになる。none
ネットワークは最初から存在するため自分で作る必要はない。
docker run --rm -it \
--network none \
alpine:latest \
ash
ip addr showの出力結果
/ # ip addr 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
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
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
なんで必要なの? どういうときに使うの?
- 単体テストを実行する環境をネットワークから隔離したい
- 認証局を安全に運用したい
- セキュアな環境を用意したい
というときに使えるかもしれません。