2016-10-03 21 views
1

Dockerを使用してアプリケーションを実行しようとしています。アプリケーションはTomcat上で動作するJavaプログラムです。だから、私はイメージを構築していますし、私のDockerfileは、次のようになります。Springエージェント:ZipファイルまたはJARマニフェストを開く際にエラーが発生しました。

FROM tomcat:7.0.72-jre8 

COPY Tomcat/ $CATALINA_HOME/ 

ENV JAVA_OPTS="$JAVA_OPTS -javaagent:$CATALINE_HOME/lib/spring-agent-2.5.6.jar -Xms2048m -Xmx2048m -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true" 

見ての通り、私は-javaagentオプションを使用していますが、それは発生します

Error opening zip file or JAR manifest missing : /lib/spring-agent-2.5.6.jar 
Error occurred during initialization of VM 
agent library failed to init: instrument 

私はJAVA_OPTSを設定して同じことを試してみましたsetenv.sh - 同じ例外です。私は、libがコンテナにコピーされ、指定されたパス上に存在することを確信しています。同じ画像をjavaagentオプションなしで実行して確認した後、端末にアクセスします。 spring-agentはlibフォルダに入っていたので、ちょっと立ち往生しました。

私は新しいUbuntuのユーザーと私はすべてのパーミッションの問題など

任意の提案かもしれないがあると思いますか?

答えて

0

正しい方法は、以前に作成したjarファイルを渡す代わりに、jarファイルをビルドさせることです。 https://github.com/glapp/mape/blob/master/Dockerfile

これは、あなたの春のアプリのために役に立つかもしれません:https://spring.io/guides/gs/spring-boot-docker/

+0

これはjavaagentの問題にどのように役立つでしょうか?言いたいことのように、実際には、解決策だとは思わない。 – quento

+0

なぜあなたはjavaagentが問題だと思いますか?エラーメッセージに、ZIPファイルを開く際に問題があること、またはマニフェストファイルがないことが示されます。マニフェストファイルがあなたのjarファイルにあることをすでに確認しましたか?私はこれが本当の原因だと思う。 – RichArt

0

まあ、javaagentオプションが呼び出されたときに、その変数が見逃されていたので、私はへの一時的な解決策を見つけたような問題が$CATALINA_HOMEにいた私はこのようにそれをやりました$CATALINA_HOMEの代わりに/usr/local/tomcat/のようなパスを指定してください。

前の手順と同様に、まったく予期せず、ファイルを$CATALINA_HOMEにコピーしています。

良い解決策のように見えないため、私はまだこの回答を正しいとはしません。すべてのアイデアはまだ評価されます。

関連する問題