Docker

Dockerコンテナでpingコマンドを使いたい【トラブルシュート対応】

Docker

Dockerイメージには基本的には必要なサービスだけがインストールされており、トラブルシュートなどで使う pingやnslookup、さらにifconfigなどのネットワーク系のパッケージはインストールされてません

それはそれで当然で非常に理にかなっていて良いのですが、トラブルシュートをする時は少し困る場面があります。

そこで、今回はコンテナにpingやnslookup、ifconfigコマンドが使えるようにするために、ネットワーク関連のパッケージをインストールしてみました。そのメモとなります。

インストール方法(Ubuntuベース)

まずはコンテナへ接続します。例としてgitlab_gitlab_1のコンテナに接続してます。当然pingがインストールされていないので「 command not found」となります。

bash-3.2$ docker exec -it gitlab_gitlab_1 /bin/bash

root@gitlab:/# cat /etc/issue
Ubuntu 16.04.6 LTS \n \l

root@gitlab:# ping 
bash: ping: command not found

root@gitlab:# ifconfig
bash: ifconfig: command not found

では、実際にapt-getコマンドから関連パッケージをインストールしています。

今回はiputils-ping、net-tools、dnsutilsのパッケージをインストールしました。

root@gitlab:/# apt-get update
root@gitlab:/# apt-get install iputils-ping net-tools dnsutils

注意:apt-get updateの事前実行が必要です

いきなりapt-get installしようとすると依存関係の問題でエラーになります。事前にapt-et updateを実行してください。

root@gitlab:/# apt-get install iputils-ping
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package iputils-ping

確認

インストールが完了したら、実際にpingやipcofigが使えるようになったことを確認します。

これでトラブルシュートを行うことができるようになりますね。ちなみにトラブル原因などが分かった後はそのまま使うのではなく、一旦コンテナを作り直すことを忘れずに。

root@gitlab:/# ping runner
PING runner (172.22.0.2) 56(84) bytes of data.
64 bytes from gitlab_runner_1.gitlab_default (172.22.0.2): icmp_seq=1 ttl=64 time=0.311 m
(略)

---------------------------
root@gitlab:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:16:00:03  
          inet addr:172.22.0.3  Bcast:172.22.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
(略)

---------------------------
root@gitlab:/# nslookup runner
Server:		127.0.0.11
Address:	127.0.0.11#53

Non-authoritative answer:
Name:	runner
Address: 172.22.0.2

参考になる書籍

私も持っている書籍ですが、Docker初心者向けに使い方から解説されているのでわかりやすかったです。ネットワークについても記載があり理解に役立ちました。

Docker実践入門――Linuxコンテナ技術の基礎から応用まで (Software Design plus)

Docker実践入門――Linuxコンテナ技術の基礎から応用まで (Software Design plus)

中井 悦司
2,948円(02/26 14:08時点)
発売日: 2015/09/26
Amazonの情報を掲載しています

今回は以上となります。

コメント

タイトルとURLをコピーしました