我试图在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)
我错过了什么?
以斯哈
谢谢,我删除了后台程序定义,并添加了权限设置,这解决了这个问题。 –