2

Benjamin Muschko のGradle-Docker pluginを参照しています。

私は Mac OS X を使用していますが、同僚の何人かは Linux を使用しています。

上記のプラグインを使用して docker サーバーの IP を取得し、Spring Boot アプリケーションで使用する環境変数として設定する方法を見つけたいと思います。

を発行して手動で行うこともできますがdocker-machine ip <machineName>、gradle からアプリを実行できるように、gradle を介してプログラムでこれを行う必要があります。

  • Docker サーバーの IP を取得する
  • 環境変数として設定します(例$DOCKER_IP
  • 次に、Spring Boot アプリはその変数を使用して、docker ホスト上の MysqlおよびElasticsearchに接続します。

Mac Os XおよびLinuxで動作するように、一般的な方法でこれを行うことは可能ですか?

4

1 に答える 1

1

基本的に、はい。それはプログラムで行うことができます。docker IP を取得するには、gradle でコマンドを実行する必要があります。ただし、環境変数は JVM 言語では設定できません。システム プロパティなどを使用できます。次のスニペットが役立つ場合があります。

task setDockerIP << {
   def dockerIP = ['boot2docker', 'ip'].execute().text
   System.setProperty('dockerIP', dockerIP)
}

task printProp(dependsOn: 'setDockerIP') << {
   System.properties.each {
      println "$it.key -> $it.value"
   }
}
于 2015-08-14T10:12:56.093 に答える