购买网站空间后怎么做,设计制作实践活动感悟,wordpress网站标题,网站多语言界面建设方案compose应用在此博客文章中#xff0c;您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行。 这篇博客文章涵盖#xff1a; Spring Boot应用程序Dockerfile配置#xff0c;在依赖项和资源之间进行了清晰的分离 用于通过PostgreSQL运行应用程序… compose应用 在此博客文章中您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行。 这篇博客文章涵盖 Spring Boot应用程序Dockerfile配置在依赖项和资源之间进行了清晰的分离 用于通过PostgreSQL运行应用程序的Docker Compose配置 先决条件 码头工人 Java 13 终奌站 httpie或curl 应用 使用Spring Web Spring Data JPA Spring Data REST PostgreSQL JDBC Driver依赖关系生成基于Maven的Spring Boot应用PostgreSQL JDBC Driver 。 可以在Github上找到本文的源代码 https : //github.com/kolorobot/spring-boot-tc Dockerfile 创建Dockerfile 基本Docker映像使用Alpine Linux FROM openjdk: 13 -alpine 不要以root身份运行该应用程序 RUN addgroup -S spring adduser -S spring -G spring USER spring:spring 不要将fat-jar部署到容器中而是将依赖项以及应用程序类和资源拆分到单独的层中 ARG DEPENDENCYtarget/dependency COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib COPY ${DEPENDENCY}/META-INF /app/META-INF COPY ${DEPENDENCY}/BOOT-INF/classes /app 注意如果您有基于Gradle的项目则可以使用ARG调整目录 docker build --build-arg DEPENDENCYbuild/dependency -t spring-boot-tc . 通过在java命令中指向主类和库在容器内运行应用程序 ENTRYPOINT [ java , -cp ENTRYPOINT [ -cp , app:app/lib/* , pl.codeleak.samples.springboot.tc.SpringBootTestcontainersApplication ] 完整的Dockerfile FROM openjdk: 13 -alpine RUN addgroup -S spring adduser -S spring -G spring USER spring:spring ARG DEPENDENCYtarget/dependency COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib COPY ${DEPENDENCY}/META-INF /app/META-INF COPY ${DEPENDENCY}/BOOT-INF/classes /app ENTRYPOINT [ java , -cp ENTRYPOINT [ -cp , app:app/lib/* , pl.codeleak.samples.springboot.tc.SpringBootTestcontainersApplication ] Docker新手 Docker在12分钟内进行了解释 https //www.youtube.com/watchv YFl2mCHdv24 Docker撰写 创建docker-compose.yml 我们将提供两项services db用于PostgreSQL数据库和app用于应用程序 db服务将使用公共存储库中的postgres映像它将向主机公开端口5432 并将环境属性POSTGRES_*传递给容器以设置数据库名称用户和密码。 完整docker-compose.yml version: 3 services: db: image: postgres ports: - 5432:5432 environment: POSTGRES_DB: tc POSTGRES_USER: tc POSTGRES_PASSWORD: tc app: build: . ports: - 9000:8080 environment: SPRING_DATASOURCE_URL: jdbc:postgresql: //db/tc SPRING_DATASOURCE_USERNAME: tc SPRING_DATASOURCE_PASSWORD: tc depends_on: - db Docker Compose的新手 Docker Compose在12分钟内进行了解释 https //www.youtube.com/watchv Qw9zlE3t8Ko 运行应用程序 打包应用程序 $ ./mvnw clean package 要跳过测试请使用 -DskipTeststrue 从fat-jar提取库 $ mkdir -p target/dependency (cd target/dependency; jar -xf ../*.jar) 使用docker-compose运行 $ docker-compose build docker-compose up 验证应用程序正在运行并响应请求 $ http get : 9000 /owners HTTP/ 1.1 200 Connection: keep-alive { _embedded : { owners : [] }, _links : { profile : { href : http://localhost:8080/profile/owners }, self : { href : http://localhost:8080/owners {?page,size,sort} , templated : true } }, page : { number : 0 , size : 20 , totalElements : 0 , totalPages : 0 } } 源代码 可以在Github上找到本文的源代码 https : //github.com/kolorobot/spring-boot-tc 参考资料 https://spring.io/guides/gs/spring-boot-docker/ https://openliberty.io/blog/2018/06/29/optimizing-spring-boot-apps-for-docker.html 也可以看看 使用JUnit 5进行Spring Boot测试 macOSJava开发人员必备工具 翻译自: https://www.javacodegeeks.com/2020/03/docker-compose-for-spring-boot-application-with-postgresql.htmlcompose应用