docker コンテナ内でpingを実行する

docker コンテナ内でpingを実行する

dockerのコンテナ内では、大抵「bash: ping: command not found」が発生してpingが実行できないので、できるようにするまでの手順を記述してます。

環境

  • コンテナOS  Debian GNU/Linux 11 \n \l
  • docker 20.10.17

pingを実行

pingを実行するには、まずはコンテナにアクセスします。
※ここではコンテナ名「wp-wordpress-1」にアクセスしてます。

$ docker exec -it wp-wordpress-1 /bin/bash

アクセス後は、pingは実行できません。

# ping
bash: ping: command not found

なので、pingを使用するために必要なツールをインストールします。最初に、updateを行います。

# apt-get update

次に必要なツールをインストールします。
※ここでは「ip」コマンドも使用できるようにしてます。

# apt-get install iputils-ping net-tools

インストールが終われば「ping」が実行できるようになります。

# ping 172.30.0.3

PING 172.30.0.3 (172.30.0.3) 56(84) bytes of data.
64 bytes from 172.30.0.3: icmp_seq=1 ttl=64 time=0.025 ms
64 bytes from 172.30.0.3: icmp_seq=2 ttl=64 time=0.022 ms

「ip」コマンドも使用できます。

# ip a

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

442647: eth0@if442648: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:1e:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.30.0.3/16 brd 172.30.255.255 scope global eth0
       valid_lft forever preferred_lft forever