Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 对docker的春季战靴战_Spring_Docker_Spring Boot_Tomcat_War - Fatal编程技术网

Spring 对docker的春季战靴战

Spring 对docker的春季战靴战,spring,docker,spring-boot,tomcat,war,Spring,Docker,Spring Boot,Tomcat,War,我的docker文件如下所示: FROM tomcat:8.5-alpine VOLUME /tmp COPY SNAPSHOT.war /usr/local/tomcat/webapps/app.war RUN sh -c 'touch /usr/local/tomcat/webapps/app.war' EXPOSE 8080 ENTRYPOINT [ "sh", "-c", "java -Dspring.profiles.active=docker -Djava.security.egd=

我的docker文件如下所示:

FROM tomcat:8.5-alpine
VOLUME /tmp
COPY SNAPSHOT.war /usr/local/tomcat/webapps/app.war
RUN sh -c 'touch /usr/local/tomcat/webapps/app.war'
EXPOSE 8080
ENTRYPOINT [ "sh", "-c", "java -Dspring.profiles.active=docker -Djava.security.egd=file:/dev/./urandom -jar /usr/local/tomcat/webapps/app.war" ]
部署时一切正常。我使用docker compose是因为我有两个容器:一个用于tomcat,一个用于mongodb

docker-compose.yml如下所示:

tomcatserver:
    image: myimage
    container_name: tomcat
    ports:
        - 8080
    hostname: tomcat
    links:
        - mongodb:mongo

mongodb:
    image: mongo
    container_name: mongo
    ports:
        - 27017
    hostname: mongo
    volumes:
        - $HOME/data/mongo:/data/db
    restart: always
所以除了我的静态资源外,一切都很好。它们位于

/src/main/resources/META-INF/resources/

当我用

./gradlew bootRun

它工作正常,我可以访问这些静态资源,但当上传到docker时,它们是不可访问的


有什么建议吗?

你能试着把静态资源放在
/src/main/resources/META-INF/resources/static
?我是否应该像使用bootRun时那样访问它:“host:port/index.html”如果是,它不起作用:(这只是一个猜测,很抱歉没有帮助。你能检查一下容器日志吗?
docker logs
。我怀疑启动应用程序本身由于某种原因没有出现。日志至少会隔离这个问题。我会看到日志,但我想说的是,spring boot应用程序启动了,我可以做我的应用程序提供的一切ut静态内容