この翻訳から:どのようにホストからのコンテナのIPアドレスのAドッカーを取得するには?
私がするために実行できるコマンドがあり 、新たなコンテナが?作成された後、右ホストからのコンテナのIPアドレスを取得し 、あなたがホストからの血管のIPアドレスを取得するためのコマンドを実行することができれば、新しいコンテナを作成した後は?
ドッカーコンテナを作成したら、基本的に、私は自分のコードの展開とコンテナ設定スクリプトをロールする。 ドッカーは、コンテナを作成したら、基本的に、私は自分のコードの展開とコンテナ設定スクリプトをローリングしたいと思います。
#1階
参考:https://stackoom.com/question/19zVR/ホストIPアドレスからドッカーコンテナを取得する方法
ハウス#2
あなたは使用することができdocker inspect <container id>
、使用することができますdocker inspect <container id>
例: 例:
CID=$(docker run -d -p 4321 base nc -lk 4321);
docker inspect $CID
ハウス#3
で、--format
点検のオプション救助のようになります。 点検--format
のオプションを解決することができます。
現代ドッカークライアントの構文: 現代ドッカークライアントの構文:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
旧ドッカークライアントの構文: 古いドッカークライアントの構文:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
これらのコマンドは、ドッカーコンテナの返されたIPアドレスを。 これらのコマンドは、IPアドレスドッカーコンテナを返します。
ASコメントの中で言及した:あなたが上にある場合のWindows、使用ダブル引用符"
の代わりSINGLE引用符'
。中括弧で周り としては、ノートで説明:使用している場合はWindowsのを、中括弧を二重引用符を使用する"
代わりに、単一引用符'
。
#4階
ドッカー1.3以降では、あなたもチェックすることができます :以下の手順を経て、それを ドッカー1.3以降では、あなたはまた、次の手順で確認することができます。
ランニングドッカー(Linux)を入力します。 実行しているドッカー(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用の Windowsの場合:
docker exec [container-id or container-name] ipconfig
ハウス#5
このスクリプトは、シェル内の追加~/.bashrc
や関連ファイル: 追加するには、このシェルスクリプトを追加し~/.bashrc
た文書を、または関連:
docker-ip() {
docker inspect --format '{{ .NetworkSettings.IPAddress }}' "$@"
}
その後、のIPアドレスを取得するには 、コンテナを、単純に次の操作を行います。 その後、コンテナはIPアドレスを取得するために、次の手順に従ってください。
docker-ip YOUR_CONTAINER_ID
ドッカーの新バージョンについては、以下を使用してください: ドッカーの新バージョンについては、次のコマンドを使用します。
docker-ip() {
docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$@"
}
ハウス#6
KO-DOSは、ここですべてのコンテナ名とIPアドレスをリストするために使用別名である答えを拡張するには:
alias docker-ips='docker ps | tail -n +2 | while read -a a; do name=${a[$((${#a[@]}-1))]}; echo -ne "$name\t"; docker inspect $name | grep IPAddress | cut -d \" -f 4; done'