程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误?

开发过程中遇到Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误的解决方法建议,希望对你解决Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误有所启发或帮助;

我的信誉度不足,无法发表评论,所以写我的评论作为答案:(

我在docker和资源上也遇到了类似的问题,所以我想为您提供帮助。

您可以提供具有TRACE级别的日志吗?此级别可帮助我们查看内部发生的情况,PathresourceResolver并且在大多数情况下根据此实现情况使用跟踪。

就我而言,它很有用并对我有所帮助。

根据这个

解决方法

在Spring Boot 1.5.9应用程序中,我想使用Google Chrome通过http访问静态资源。

在Docker中,我有 404 error它在嵌入式tomcat中工作良好。

组态

这是Dockerfile

FROM openjdk:8-jre-alpine
VOLUME /tmp

RUN addgroup -S spring --gid 13371 && adduser -S spring -G spring --uid 13371
RUN mkdir -p /srv/upload
RUN chown -R spring:spring /srv/upload

ADD *.jar app.jar
RUN sh -c 'touch /app.jar'

USER spring:spring

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=UTC","-jar","/app.jar"]

这就是我配置静态资源的方式:

public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter { 
    @Override
    public void addresourceHandlers(resourceHandlerRegistry registry) {
        registry.addresourceHandler("/resources/**")
                .addresourceLOCATIOns("file:upload/images/")
                .setCachePeriod(0);
    }
}

结果

这是我从docker 中的* chrome访问URL时的结果日志@H_674_49@ *http://localhost:8080/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png

CounTing up[http-nio-8080-Acceptor-0] latch=1
Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@45deea1:org.apache.tomcat.util.net.NioChAnnel@68f517c7:java.nio.chAnnels.SocketChAnnel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:47510]],Read from buffer: [0]
Received [GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png http/1.1
Host: localhost:8080
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/80.0.3987.132 Safari/537.36
Sec-Fetch-Dest: document
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept-Encoding: gzip,deflate,br
Accept-Language: en-US,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,ru-RU;q=0.6,ru;q=0.5,vi-VN;q=0.4,vi;q=0.3

]
Security checking request GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
  No applicable consTraints defined
 Not subject to any consTraint
Bound request context to thread: org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryrequestWrapper@1f960fc1
Trying to match using Ant [pattern='/oauth/token']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/oauth/token'
Trying to match using Ant [pattern='/oauth/token_key']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/oauth/token_key'
Trying to match using Ant [pattern='/oauth/check_token']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/oauth/check_token'
No matches found
Trying to match using Ant [pattern='/favicon.ico']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/favicon.ico'
Trying to match using Ant [pattern='/favicon.png']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/favicon.png'
Trying to match using Ant [pattern='/login']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/login'
Trying to match using Ant [pattern='/logout']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/logout'
Trying to match using Ant [pattern='/ping']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/ping'
Trying to match using Ant [pattern='/oauth/authorize']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/oauth/authorize'
Trying to match using Ant [pattern='/cb/**']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/cb/**'
Trying to match using Ant [pattern='/']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/'
Trying to match using Ant [pattern='/public/**']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/public/**'
Trying to match using Ant [pattern='/resources/**']
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/resources/**'
matched
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 1 of 11 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 2 of 11 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
Set encoding to ISO-8859-1
No httpSession currently exists
No SecurityContext was available from the httpSession: null. A new one will be created.
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 3 of 11 in additional filter chain; firing Filter: 'HeaderWriterFilter'
Not injecTing HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecurerequestMatcher@1877aac3
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 4 of 11 in additional filter chain; firing Filter: 'LogoutFilter'
Trying to match using Ant [pattern='/logout',GET]
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/logout'
Trying to match using Ant [pattern='/logout',POST]
request 'GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png' doesn't match 'POST /logout
Trying to match using Ant [pattern='/logout',PUT]
request 'GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png' doesn't match 'PUT /logout
Trying to match using Ant [pattern='/logout',deletE]
request 'GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png' doesn't match 'deletE /logout
No matches found
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 5 of 11 in additional filter chain; firing Filter: 'UsernamepasswordAuthenticationFilter'
request 'GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png' doesn't match 'POST /login
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 6 of 11 in additional filter chain; firing Filter: 'requestCacheAwareFilter'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 7 of 11 in additional filter chain; firing Filter: 'SecurityContextHolderAwarerequestFilter'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 8 of 11 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
Populated SecurityContextHolder with anonymous token: 'org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpaddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONymOUS'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 9 of 11 in additional filter chain; firing Filter: 'SessionManagementFilter'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 10 of 11 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png at position 11 of 11 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
Trying to match using Ant [pattern='/logout',deletE]
request 'GET /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png' doesn't match 'deletE /logout
No matches found
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/favicon.ico'
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/favicon.png'
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/ping'
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/public/**'
checking match of request : '/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png'; against '/resources/**'
Secure object: FilterInvocation: URL: /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png; Attributes: [permitAll]
Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpaddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONymOUS
Voter: org.springframework.security.web.access.expression.WebExpressionVoter@6f01175d,returned: 1
Authorization successful
RunAsmanager did not change Authentication object
/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png reached end of additional filter chain; proceeding with original chain
DispatcherServlet with name 'dispatcherServlet' processing GET request for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
looking up handler for path: /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Looking up handler method for path /resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png
Did not find handler method for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png]
Matching patterns for request [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png] are [/resources/**,/**]
URI Template variables for request [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png] are {}
Mapping [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png] to HandlerExecutionChain with handler [resourcehttprequestHandler [LOCATIOns=[URL [file:upload/images/],class path resource [META-INF/resources/],class path resource [resources/],class path resource [static/],class path resource [public/]],resolvers=[org.springframework.web.servlet.resource.PathresourceResolver@6f49d153]]] and 1 interceptor
Last-Modified value for [/resources/promotions/37/lg/31723d95-eec3-4ff9-aa42-e3477559e9df.png] is: -1
SecurityContext is empty or contents are anonymous - context will not be stored in httpSession.
Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
successfully completed request
Chain processed normally
SecurityContextHolder now cleared,as request processing completed
Cleared thread-bound request context: org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryrequestWrapper@1f960fc1
Processing ErrorPage[errorCode=0,LOCATIOn=/error]
DispatcherServlet with name 'dispatcherServlet' processing GET request for [/error]
Looking up handler method for path /error
looking up handler for path: /error
Did not find handler method for [/error]
Looking up handler method for path /error
Did not find handler method for [/error]
Looking up handler method for path /error
Returning handler method [public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.basicErrorController.errorHtml(javax.servlet.http.httpServletrequest,javax.servlet.http.httpServletResponsE)]
Returning cached instance of singleton bean 'basicErrorController'
Last-Modified value for [/error] is: -1
requested media types are [text/html,text/html;q=0.8] based on Accept header types and producible media types [text/html])
Returning cached instance of singleton bean 'error'
Returning [org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView@351e414e] based on requested media type 'text/html'
Rendering view [org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView@351e414e] in DispatcherServlet with name 'dispatcherServlet'
successfully completed request
 Disabling the response for further output
Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@45deea1:org.apache.tomcat.util.net.NioChAnnel@68f517c7:java.nio.chAnnels.SocketChAnnel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:47510]],Read from buffer: [0]
Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@45deea1:org.apache.tomcat.util.net.NioChAnnel@68f517c7:java.nio.chAnnels.SocketChAnnel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:47510]],Status in: [OPEN_READ],State out: [OPEN]

预期

这是我在访问环境中的期望(在开发环境中)@H_674_49@ http://localhost:8080/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg

CounTing up[http-nio-8080-Acceptor-0] latch=1
Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4d64a855:org.apache.tomcat.util.net.NioChAnnel@3eaf8ba0:java.nio.chAnnels.SocketChAnnel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:59330]],Read from buffer: [0]
Received [GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg http/1.1
Host: localhost:8080
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,vi;q=0.3

]
Security checking request GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
  No applicable consTraints defined
 Not subject to any consTraint
Bound request context to thread: org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryrequestWrapper@29e45b2
Trying to match using Ant [pattern='/']
checking match of request : '/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/'
Trying to match using Ant [pattern='/public/**']
checking match of request : '/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/public/**'
Trying to match using Ant [pattern='/resources/**']
checking match of request : '/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/resources/**'
matched
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 1 of 11 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 2 of 11 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
Set encoding to ISO-8859-1
No httpSession currently exists
No SecurityContext was available from the httpSession: null. A new one will be created.
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 3 of 11 in additional filter chain; firing Filter: 'HeaderWriterFilter'
Not injecTing HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecurerequestMatcher@204c4db
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 4 of 11 in additional filter chain; firing Filter: 'LogoutFilter'
Trying to match using Ant [pattern='/logout',GET]
checking match of request : '/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/logout'
Trying to match using Ant [pattern='/logout',POST]
request 'GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg' doesn't match 'POST /logout
Trying to match using Ant [pattern='/logout',PUT]
request 'GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg' doesn't match 'PUT /logout
Trying to match using Ant [pattern='/logout',deletE]
request 'GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg' doesn't match 'deletE /logout
No matches found
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 5 of 11 in additional filter chain; firing Filter: 'UsernamepasswordAuthenticationFilter'
request 'GET /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg' doesn't match 'POST /login
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 6 of 11 in additional filter chain; firing Filter: 'requestCacheAwareFilter'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 7 of 11 in additional filter chain; firing Filter: 'SecurityContextHolderAwarerequestFilter'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 8 of 11 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
Populated SecurityContextHolder with anonymous token: 'org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpaddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONymOUS'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 9 of 11 in additional filter chain; firing Filter: 'SessionManagementFilter'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 10 of 11 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg at position 11 of 11 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
No matches found
g/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/public/**'
checking match of request : '/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg'; against '/resources/**'
Secure object: FilterInvocation: URL: /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg; Attributes: [permitAll]
Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpaddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONymOUS
Voter: org.springframework.security.web.access.expression.WebExpressionVoter@199cd81c,returned: 1
Authorization successful
RunAsmanager did not change Authentication object
/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg reached end of additional filter chain; proceeding with original chain
DispatcherServlet with name 'dispatcherServlet' processing GET request for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
looking up handler for path: /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Looking up handler method for path /resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg
Did not find handler method for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg]
Matching patterns for request [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg] are [/resources/**,/**]
URI Template variables for request [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg] are {}
Mapping [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg] to HandlerExecutionChain with handler [resourcehttprequestHandler [LOCATIOns=[URL [file:upload/images/],resolvers=[org.springframework.web.servlet.resource.PathresourceResolver@49a0fe14]]] and 1 interceptor
Last-Modified value for [/resources/promotions/39/lg/843291ef-2309-4809-9f37-38257e087a97.jpeg] is: -1
SecurityContext is empty or contents are anonymous - context will not be stored in httpSession.
Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
successfully completed request

调查中

我已经在本地复制了生产环境,并且file:/srv/upload/images在开发中使用了相同的绝对路径,因此可以确认docker中的状态码是否不同:

  • 在嵌入式tomcat中:200
  • 在码头工人:404

问题与路径不同无关,仅与docker有关。

  • 我忘记了一步吗?

任何提示将不胜感激。

大佬总结

以上是大佬教程为你收集整理的Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误全部内容,希望文章能够帮你解决Spring Boot 1.5.9,访问Docker容器内的资源映像时出现404错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。