2016-10-21 3 views
1

私たちのジェンキンは、ドッカーコンテナにコードをデプロイ/ビルドします。 Jenkinsはコードをデプロイするたびに、ドッキング・コンテナの別のインスタンスでそうします。ポートIDと一緒にそのコンテナのIPアドレスを知るにはどうすればいいですか?デプロイ直後に、そのドッキング・コンテナにあるアプリケーションに対してBuild Validationテストを実行したいと考えています。jenkinsがコードをデプロイしてビルドするサーバーのIPアドレスを知る方法

洞察力があれば幸いです。

答えて

1

あなたがドッキングウィンドウ実行で-pを指定して、ポートをつかむためにdocker inspectを使用する必要があります。

docker run -d -p 80 --name app crramirez/limesurvey 
export THEPORT=`docker inspect --format='{{(index (index .NetworkSettings.Ports "80/tcp") 0).HostPort}}' app` 

次に、あなたがあなたのアプリケーションを呼び出す:あなたが実行している多数のコンテナを持っている場合wget http://localhost:${THEPORT}

は、このすべてが必要です同時に。しかし、一度に1つのコンテナしか展開していない場合は、あなただけのあなたのポートwget http://localhost:80

よろしくを使用してアプリケーションを呼び出す前のコンテナを削除し、docker run -d -p 80:80を行う必要があり

+0

おかげ@Carlos、私は上記のコードスニペットは、専用ポートのIDを与えますが、私は私を実行するために、完全なIPアドレスが必要だと思います実行する検証テストをビルドします。完全なIPアドレスを取得するにはどうすればよいですか? – Chuchoo

+0

こんにちは、アドレスは常に 'localhost'、またはコンテナを起動しているサーバのIPです。 –

+0

Ok ..thanks。これは私に前進する方法を与える。 – Chuchoo

関連する問題