javascript
compose应用_带有PostgreSQLDocker Compose for Spring Boot应用程序
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:
- 不要以root身份運行該應用程序:
- 不要將fat-jar部署到容器中,而是將依賴項以及應用程序類和資源拆分到單獨的層中:
注意:如果您有基于Gradle的項目,則可以使用ARG調整目錄: docker build --build-arg DEPENDENCY=build/dependency -t spring-boot-tc .
- 通過在java命令中指向主類和庫,在容器內運行應用程序:
完整的Dockerfile :
FROM openjdk: 13 -alpine RUN addgroup -S spring && adduser -S spring -G spring USER spring:spring ARG DEPENDENCY=target/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/watch?v = 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: - dbDocker Compose的新手? Docker Compose在12分鐘內進行了解釋: https : //www.youtube.com/watch?v = Qw9zlE3t8Ko
運行應用程序
- 打包應用程序
$ ./mvnw clean package
要跳過測試,請使用: -DskipTests=true
- 從fat-jar提取庫
$ mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)
- 使用docker-compose運行
$ docker-compose build && docker-compose up
- 驗證應用程序正在運行并響應請求
源代碼
可以在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測試
- macOS:(Java)開發人員必備工具
翻譯自: https://www.javacodegeeks.com/2020/03/docker-compose-for-spring-boot-application-with-postgresql.html
compose應用
總結
以上是生活随笔為你收集整理的compose应用_带有PostgreSQLDocker Compose for Spring Boot应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑风扇改装usb小电扇(电脑风扇改装u
- 下一篇: 电脑上微信文件夹储存在什么位置电脑微信存