私はコマンドライン(Tomcatスタンドアロンの埋め込み)からうまく動作するスプリングブートベースのJavaアプリケーションを持っています。春の起動アプリケーションは、スタンドアロンでうまく動作します。ドッカーでエラーが発生しました
問題
私はドッキングウィンドウでアプリケーションを実行すると、それが正しく実行されません。コンソールはアプリケーションがエラーなく正常に起動することを示します。あなたがフォールバックとしてこれを を見ているので、
ホワイトレーベルのエラーページ
このアプリケーションは/エラーのために明示的なマッピングを持っていません。しかし、ブラウザは、次のエラーページが表示されます。
[私は '/ error' URLのマッピングがメッセージにないことを理解しています。しかし、私は春のブート1.4.2
追加情報/コンテキスト
- ]根本的な原因を知りたいです
- 「ホスト」ネットワーキングモード( - net = host)でドッキング画像を実行してデータベースにアクセスできるようにしました(ローカルホスト上で実行されているmysql)
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD floss.war app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
dockerfile build.gradle目標
task buildDocker(type: Docker, dependsOn: build) {
push = false
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from war
into stageDir
}
}
}
コマンドを実行するドッカー
dockerImg=1248c47d9cfa
docker run \
-it \
--net=host \
-e SPRING_APPLICATION_JSON="$SPRING_APPLICATION_JSON" \
$dockerImg
私はドッカーする新たなんだと任意の提案をいただければ幸いです。
ありがとうございます!
エラーが発生したときにstdout/stderrにスタックトレースが表示されているかどうかを確認するために '' docker ps'''を実行してから '' 'docker logs -tail 100 -f $ {YOUR_CONTAINER_ID}' ''を実行できますか? – EwyynTomato