ベース付きubuntu:12.04
、ifconfig
はコンテナーで使用できませんが、ip
コマンドは使用できますが、これはなぜですか?そして、どのようにifconfig
をコンテナに入れるのですか?
Ifconfigはapt-get install net-tools
を使用してインストールできます。 (具体的には、RUN apt-get install -y net-tools
をDockerfileに追加します。)
私のテストに基づいて、ifconfigはubuntu:14.04に含まれています。
Net-toolsをインストールできるまでは、デフォルトで指定する必要はありません。また、IPアドレスを確認したい場合は、Docker自体で使用できる別のコマンドがあります。
docker inspect <container_name or container_id>
docker inspect 構文:docker inspect [OPTIONS] NAME|ID [NAME|ID...]
このコマンドは、IPアドレスを含む実行中のコンテナーの詳細をすべて表示します。
私もこの迷惑に遭遇しましたが、Devendraが docker inspect に書いたように、net-tools
なしでコンテナに関するすべての詳細を取得できます。私の場合、コンテナのIPが必要でした。使用できるIPを抽出するには:
docker inspect <container-id> \
| grep "\"IPAddress\"" -m 1 \
| grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
[〜#〜] edit [〜#〜]コンテナのIPを取得するためにさらに短い表記( docker inspect example を参照):
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>