新しいコンテナが作成された後に、ホストからコンテナのIPアドレスを取得するために実行できるコマンドはありますか?
基本的には、Dockerがコンテナを作成したら、自分でコードの展開やコンテナの設定スクリプトを作成したいと考えています。
inspectの--format
オプションがその助けとなります。
最新のDockerクライアントの構文です。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
古いDockerクライアントの構文。
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
これはIPアドレスだけを返します。
コメントにあるように、もしあなたがWindowsを使っているなら、中括弧の周りにシングルクォート '
ではなく、ダブルクォート "
を使ってください。
また、Docker 1.3+では、以下の手順で確認することができます。
起動しているDocker(Linux)に入る。
docker exec [container-id or container-name] cat /etc/hosts
172.17.0.26 d8bc98fa4088
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.17 mysql
windowsの場合。
docker exec [container-id or container-name] ipconfig