问题产生:
registry.addResourceHandler(。。。).addResourceLocations(。。。);
是springcloud以路径拦截访问静态资源。
当服务以jar形式启动,静态资源url共享都没有问题,但是docker中,容器内部的文件夹路径和宿主机中路径相当于存在是平行空间,无法访问
问题解决:
之前启动只是指定了启动的端口号
docker run -p 6077:6077 -t service-a
需要使用挂接方式,将宿主机中的文件夹和docker中的文件夹关联起来
docker run -p 端口号:端口号 -it -v 宿主机文件夹绝对地址:容器中绝对地址 服务名 /bin/bash
eg:docker run -p 6077:6077 -it -v /opt/test:/opt/test service-a /bin/bash
那么这时候
registry.addResourceHandler("/test/**").addResourceLocations("/opt/test");
我们就可以将容器中的test文件夹和宿主机中的文件夹关联起来了。