尝试将我的第一个Java Web应用程序部署到Google Kubernetes。它必须有3个容器。
1-前端网络应用
2-后端Java Web应用程序-Jersey Web服务
3-Postgres服务器
整个Web应用程序都可以在笔记本电脑上的Eclipse Jee(Tomcat)上正常运行。该Web应用程序是非常简单的SPA,没有maven或gradle版本。 对于后端:Dockerfile
FROM tomcat:9.0
ADD backend.war /usr/local/tomcat/webapps/backend.war
EXPOSE 8080
以上图像工作正常。但是对于前端Web应用程序,我真的很困惑。尝试了以下变体,但未成功: a)
FROM tomcat:9.0
ADD frontend.war /usr/local/tomcat/webapps/frontend.war
b)
FROM tomcat:9.0
COPY frontend.war /usr/local/tomcat/webapps/frontend.war
EXPOSE 8080
c)
FROM 8.0-jre8-alpine
COPY frontend.war /usr/local/tomcat/webapps/frontend.war
当我尝试使用Google在浏览器上提供的负载平衡器IP访问我的网站时,显示“无法访问”消息。
答案 0 :(得分:1)
这是我的示例Web应用程序,后端作为mysql数据库。
前端Dockerfile
FROM tomcat:9.0
ADD art-gallery-management.war /usr/local/tomcat/webapps/art-gallery-management.war
WORKDIR /usr/local/tomcat/
CMD ["catalina.sh" "run"]
EXPOSE 8080/tcp
后端Dockerfile
FROM mysql:latest
WORKDIR /docker-entrypoint-initdb.d
ADD Schema.sql /docker-entrypoint-initdb.d
CMD ["mysqld"]
EXPOSE 3306/tcp
启动容器
docker container run -d --name art-gallery-management-db -e MYSQL_ROOT_PASSWORD=vision -p 3306:3306 bukkasamudram/art-gallery-management:db-latest
docker container run -d --name art-gallery-management-app --link art-gallery-management-db -p 8090:8080 bukkasamudram/art-gallery-management:app-latest
确保使用 link 选项将前端容器与后端容器链接。