#前提条件
OS
MacOS Monterey 12.0.1
CPU
Apple M1(arm64)
Docker
Docker Desktop 4.2.0 (70708)
CentOS
CentOS Linux release 7.9.2009 (AltArch)
#やりたいこと
Dockerで構築したCentOS7の環境で、ネットワーク周りの確認ができるipコマンドを実行したい
#つまづいた話
ipコマンドを実行しようとしたら、そんなものは無いと怒られる
[root@0a412e1af0a1 /]# ip addr
bash: ip: command not found
単純に↓こんなのでいいかなとも思いましたが、ダメみたい。。。
[root@0a412e1af0a1 /]# yum install ip
# 中略
No package ip available.
Error: Nothing to do
どうやらDockerの公式イメージなので、パッケージには最低限の内容しか入っていないようです。
#解決策
「iproute」をインストール
※ちなみに、「net-tools」というやつは、今はもう非推奨とのことです。
[root@0a412e1af0a1 /]# yum install iproute
#ipコマンドを試してみる
ip addr [IP ADDRESS]
インターフースの状態やIPアドレスを表示
[root@0a412e1af0a1 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
link/tunnel6 :: brd ::
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
ip route
ルーティングテーブルを表示
[root@0a412e1af0a1 /]# ip route
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.3
#おまけ(pingコマンド)
ping -c パケット送信回数 n.n.n.n(送信先IPアドレス)
ネットワークの通信確認コマンドです。
※ cオプションで回数を設定しないと、パケットを送り続けることになってしまいます。
[root@0a412e1af0a1 /]# ping -c 3 192.168.73.92
PING 192.168.73.92 (192.168.73.92) 56(84) bytes of data.
64 bytes from 192.168.73.92: icmp_seq=1 ttl=37 time=1.44 ms
64 bytes from 192.168.73.92: icmp_seq=2 ttl=37 time=1.29 ms
64 bytes from 192.168.73.92: icmp_seq=3 ttl=37 time=1.26 ms
自分のスマホでテザリング接続していたので、そのネットワークのIPアドレスに向けてpingを打ってみました。パケット送信回数は3回。
(IPアドレスは、Mac右上のバーから「”ネットワーク”環境設定」を開くと見れます)