gpt4 book ai didi

java - 如何为前端Web应用程序编写dockerfile

转载 作者:行者123 更新时间:2023-11-30 05:34:58 26 4
gpt4 key购买 nike

尝试将我的第一个 Java Web 应用部署到 Google Kubernetes。它必须有 3 个容器。

1 - 前端网络应用

2 - 后端 Java Web 应用程序 - Jersey Web 服务

3 - Postgres 服务器

整个网络应用程序在我的笔记本电脑上的 Eclipse Jee (Tomcat) 上运行,没有任何问题。 Web 应用程序是非常简单的 SPA,没有 Maven 或 Gradle 构建。对于后端:Dockerfile

FROM tomcat:9.0
ADD backend.war /usr/local/tomcat/webapps/backend.war
EXPOSE 8080

上面的图像工作正常。但对于前端网络应用程序,我真的很困惑。尝试了以下变体但没有成功:
一)

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 访问我的网站时,收到“无法访问”消息。

最佳答案

这是我的示例 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选项将前端容器与后端容器链接起来。

关于java - 如何为前端Web应用程序编写dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56843032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com