Vaadin 23 Spring Boot项目Docker部署后提示离线问题排查
问题分析:Vaadin 23 Spring Boot项目Docker部署后显示离线错误
我的Vaadin 23 Spring Boot项目在IDE中运行正常,但部署到Docker后,访问对应端口时出现Vaadin提示:
You are offline
Project Base for Vaadin requires an internet connection to work. You do not seem to have access to the server right now. Check your internet connection and try reloading the page to use the application.
翻译提示内容:
你处于离线状态
Vaadin项目基座需要联网才能运行。目前你似乎无法连接到服务器。请检查网络连接,重新加载页面后再使用应用。
这个问题同时涉及Docker配置和Vaadin的资源加载逻辑,并非单一归属某一方,具体分析如下:
Docker侧可能的原因
- 端口映射错误:确认Docker启动命令是否正确映射了应用端口(默认8080)到宿主机,例如:
映射错误会导致前端无法访问后端服务,触发离线提示。docker run -p 8080:8080 your-project-image - 网络绑定异常:如果Spring Boot应用在容器内仅绑定
127.0.0.1,而非0.0.0.0,则仅容器内部可访问,外部请求会失败。需在应用配置或启动参数中设置server.address=0.0.0.0。 - 容器网络隔离:若容器使用了自定义隔离网络,需确认宿主机或客户端能正常访问该网络内的容器服务。
Vaadin侧可能的原因
- 未启用生产模式:Vaadin开发模式依赖在线资源,部署到Docker必须切换到生产模式,确保前端资源已打包到镜像中。构建时需添加生产模式参数:
- Maven:
mvn clean package -Pproduction - Gradle:
./gradlew clean build -Pproduction
未启用生产模式会导致容器内应用尝试加载在线基座资源,若容器网络受限则触发离线提示。
- Maven:
- 静态资源路径配置错误:若Vaadin的静态资源在Docker环境下未正确挂载或打包,前端无法加载必要的JS/CSS资源,会触发离线判断。
结合开发者控制台的网络日志(通常会显示资源请求失败的状态码或网络错误),可快速定位:若为API接口请求失败,优先排查Docker网络/端口配置;若为前端静态资源加载失败,优先排查Vaadin生产模式构建和资源打包。
内容的提问来源于stack exchange,提问作者Kiemoon
相关产品推荐
相关产品推荐

