我試圖在Docker容器上運行Vert.x基於Java的應用程序。我的應用程序運行幾個從其內部啓動的Verticle。 我已經把jar文件的文件夾上,創造了Dockerfile具有以下內容:基於Vert.x的應用程序在Docker容器上崩潰
FROM vertx/vertx3
ENV VERTICLE_FILE Medical-1.0-SNAPSHOT.jar
ENV VERTICLE_HOME /performit/web/vertx/verticles/
COPY $VERTICLE_FILE $VERTICLE_HOME/
WORKDIR $VERTICLE_HOME
ENTRYPOINT ["sh", "-c"]
EXPOSE 8080
CMD ["java -jar $VERTICLE_FILE"]
USER daemon
我產生影像命令
$ sudo docker build -t medical-main .
然後我試圖創建一個容器下面一行:
sudo docker run --name medical-main -p 8080:8080 -d medical-main
失敗,且日誌顯示如下:
java.lang.IllegalStateException: Failed to create cache dir
at io.vertx.core.impl.FileResolver.setupCacheDir(FileResolver.java:257)
at io.vertx.core.impl.FileResolver.<init>(FileResolver.java:79)
at io.vertx.core.impl.VertxImpl.<init>(VertxImpl.java:138)
at io.vertx.core.impl.VertxImpl.<init>(VertxImpl.java:114)
at io.vertx.core.impl.VertxImpl.<init>(VertxImpl.java:110)
at io.vertx.core.impl.VertxFactoryImpl.vertx(VertxFactoryImpl.java:34)
at io.vertx.core.Vertx.vertx(Vertx.java:79)
我錯過了什麼?
以斯哈
謝謝,我刪除了後臺程序定義,並添加了權限設置,這解決了這個問題。 –