Docker Compose + Spring Boot + Postgres 설명
PHP 편집자 Xigua는 오늘 Docker Compose를 사용하여 Spring Boot와 Postgres를 연결하는 방법에 대한 튜토리얼을 제공합니다. Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구인 반면, Spring Boot는 Java 애플리케이션 구축을 위한 프레임워크이고 Postgres는 강력한 관계형 데이터베이스입니다. 이 세 가지를 함께 사용하면 Spring Boot 애플리케이션과 Postgres 데이터베이스를 포함하는 개발 환경을 쉽게 구축할 수 있습니다. 이 튜토리얼에서는 세 가지 모두를 구성하고 연결하는 방법을 단계별로 학습하여 애플리케이션 개발을 빠르게 시작할 수 있습니다.
질문 내용
Postgres 데이터베이스와 작동하는 Java Spring Boot 애플리케이션이 있습니다. 두 가지 모두에 Docker를 사용하고 싶습니다. 처음에는 Postgres를 Docker에 넣고 docker-compose.yml
파일을 다음과 같이 정의했습니다.
그런 다음 명령을 실행하면 sudo dockerd
和 sudo docker-compose -f docker-compose.yml up
时,它正在启动数据库。例如,我可以使用 pgAdmin
进行连接,使用 localhost
作为服务器和端口 5432
。然后,在我的 Spring Boot 应用程序中,在 application.properties
다음 속성이 파일에 정의됩니다.
이 시점에서 Spring Suite를 통해 로컬로 Spring Boot 애플리케이션을 실행할 수 있으며 모든 것이 잘 작동합니다. 그런 다음 Spring Boot 애플리케이션을 Docker 이미지로 추가하고 싶습니다. 먼저 아래와 같이 프로젝트 디렉터리에 Dockerfile을 만들었습니다.
으아아아그런 다음 mvn clean
이 릴리스된 프로젝트 디렉토리에 들어간 다음 mvn install
을 입력했습니다. 그런 다음 docker build -f Dockerfile -t Manager .
를 실행하고 docker tag 9c6b1e3f1d5e myuser/manager:latest
(ID가 정확함)를 실행하세요. 마지막으로 기존 mvn clean
的项目目录,然后是mvn install
。接下来,发出 docker build -f Dockerfile -t manager .
,后跟 docker tag 9c6b1e3f1d5e myuser/manager:latest
(id 是正确的)。最后,我编辑了现有的 docker-compose.yml
파일을 다음과 같이 편집했습니다.
그러나 이제 sudo docker-compose -f docker-compose.yml up
명령을 실행하면 데이터베이스가 다시 올바르게 시작되지만 오류가 발생하고 웹 애플리케이션 섹션의 코드 1로 종료됩니다. 문제는 연결 문자열입니다. 다른 것으로 바꿔야 한다고 생각하는데 어떻게 해야 할지 모르겠습니다. 다음과 같은 오류 메시지가 나타납니다:
어떤 아이디어가 있나요?
해결 방법
각 컨테이너에는 자체 네트워크 인터페이스와 로컬 호스트가 있습니다. 따라서 Java가 Postgres를 가리키는 방식을 변경하십시오.
으아아아받는 사람:
으아아아db
올바른 Postgres IP를 확인합니다.
보너스. docker-compose를 사용하면 이미지를 수동으로 빌드할 필요가 없습니다. 그러니 바꿔보세요:
으아아아받는 사람:
version: '2' services: db: container_name: sample_db image: postgres:9.5 volumes: - sample_db:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=sample - POSTGRES_USER=sample - POSTGRES_DB=sample - PGDATA=/var/lib/postgresql/data/pgdata ports: - 5432:5432 volumes: sample_db: {}
저도 같은 문제가 있었는데 이해하고 해결하는 데 시간이 좀 걸렸어요 :
으아아아모든 부동산을 모두가 이해할 수 있도록 보여드립니다.
application.properties:
docker-compose.yml:
로컬 데이터베이스를 사용하여 Spring 애플리케이션을 시작하려면 URL localhost를 사용합니다.
데이터베이스를 사용하여 컨테이너에 연결하려면 데이터베이스 서비스의 "localhost"를 변경해야 합니다. 제 경우에는 "localhost"을 "db"로 변경해야 합니다.
해결책: docker-compose.yml
中添加SPRING_DATASOURCE_URL
环境,重写spring.datasource.url
에 SPRING_DATASOURCE_URL
환경을 추가하고 spring.datasource.url
연결 값을 다시 작성합니다.
사람들이 시간을 절약하는 데 도움이 되기를 바랍니다.
위 내용은 Docker Compose + Spring Boot + Postgres 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java 에뮬레이터는 컴퓨터나 장치에서 Java 애플리케이션을 실행할 수 있는 소프트웨어입니다. Java 가상 머신을 시뮬레이션하고 Java 바이트코드를 실행할 수 있으므로 사용자는 다양한 플랫폼에서 Java 프로그램을 실행할 수 있습니다. Java 시뮬레이터는 소프트웨어 개발, 학습 및 테스트에 널리 사용됩니다. 이 기사에서는 다양한 사용자의 요구 사항을 충족하고 사용자가 Java 프로그램을 보다 효율적으로 개발하고 실행하는 데 도움이 되는 다섯 가지 유용하고 실용적인 Java 에뮬레이터를 소개합니다. 최초의 에뮬레이터는 Eclipse였습니다. Ecl

log4j 구성 파일에 대한 일반적인 문제 및 해결 방법 Java 애플리케이션 개발 프로세스에서 로깅은 매우 중요한 기능입니다. log4j는 Java에서 널리 사용되는 로깅 프레임워크입니다. 구성 파일을 통해 로그의 출력 모드를 정의하고, 로그의 레벨과 출력 위치를 제어하는 것이 매우 편리합니다. 그러나 때로는 log4j를 구성할 때 몇 가지 문제가 발생할 수 있습니다. 이 기사에서는 몇 가지 일반적인 문제와 해결 방법을 소개하고 특정 코드 예제를 첨부합니다. 문제 1: 로그 파일이 해결 방법을 생성하지 않습니다.

Java는 사용자가 게임 구축, 웹 애플리케이션 생성, 임베디드 시스템 설계 등 광범위한 애플리케이션을 생성할 수 있게 해주는 강력한 프로그래밍 언어입니다. Debian12는 Java 애플리케이션이 번창할 수 있도록 안정적이고 신뢰할 수 있는 기반을 제공하는 강력하고 새로 출시된 Linux 기반 운영 체제입니다. Java 및 Debian 시스템과 함께 사람들에게 확실히 많은 도움을 줄 수 있는 가능성과 혁신의 세계를 열 수 있습니다. 이는 Debian 시스템에 Java가 설치된 경우에만 가능합니다. 이 가이드에서는 다음 내용을 학습합니다: Debian12에 Java를 설치하는 방법 Debian12에 Java를 설치하는 방법 Debian12에서 Java를 제거하는 방법

JUnit 단위 테스트 프레임워크는 자동화된 테스트, 빠른 피드백, 향상된 코드 품질 및 이식성을 주요 장점으로 하는 널리 사용되는 도구입니다. 그러나 제한된 범위, 유지 관리 비용, 종속성, 메모리 소비, 지속적인 통합 지원 부족 등의 제한 사항도 있습니다. Java 애플리케이션의 단위 테스트를 위해 JUnit은 많은 이점을 제공하는 강력한 프레임워크이지만 사용 시 제한 사항을 고려해야 합니다.

Oracle은 세계적으로 유명한 데이터베이스 관리 시스템 제공업체이며, Oracle의 API(응용 프로그래밍 인터페이스)는 개발자가 Oracle 데이터베이스와 쉽게 상호 작용하고 통합하는 데 도움이 되는 강력한 도구입니다. 이 기사에서는 Oracle API 사용 가이드를 자세히 살펴보고 독자들에게 개발 프로세스 중에 데이터 인터페이스 기술을 활용하는 방법을 보여주고 구체적인 코드 예제를 제공합니다. 1.오라클

IDEA(IntelliJIDEA)는 개발자가 다양한 Java 애플리케이션을 빠르고 효율적으로 개발하는 데 도움을 줄 수 있는 강력한 통합 개발 환경입니다. Java 프로젝트 개발에서 Maven을 프로젝트 관리 도구로 사용하면 종속 라이브러리 관리, 프로젝트 빌드 등을 더 잘 관리하는 데 도움이 될 수 있습니다. 이 기사에서는 특정 코드 예제를 제공하면서 IDEA에서 Maven 프로젝트를 생성하는 방법에 대한 기본 단계를 자세히 설명합니다. 1단계: IDEA 열기 및 새 프로젝트 만들기 IntelliJIDEA 열기

1. 보안 주석을 너무 많이 사용하지 않도록 코드 최적화: 컨트롤러 및 서비스에서 @PreAuthorize 및 @PostAuthorize 및 기타 주석의 사용을 줄이면 코드 실행 시간이 늘어납니다. 쿼리 문 최적화: springDataJPA를 사용할 때 쿼리 문을 최적화하면 데이터베이스 쿼리 시간이 줄어들어 시스템 성능이 향상됩니다. 보안 정보 캐싱: 일반적으로 사용되는 일부 보안 정보를 캐싱하면 데이터베이스 액세스 횟수를 줄이고 시스템 응답 속도를 향상시킬 수 있습니다. 2. 데이터베이스 최적화를 위해 인덱스 사용: 자주 쿼리되는 테이블에 인덱스를 생성하면 데이터베이스의 쿼리 속도를 크게 향상시킬 수 있습니다. 로그 및 임시 테이블을 정기적으로 정리: 로그 및 임시 테이블을 정기적으로 정리합니다.

JMX란 무엇입니까? JMX(Java Monitoring and Management)는 Java 애플리케이션과 해당 리소스를 모니터링하고 관리할 수 있는 표준 프레임워크입니다. 이는 애플리케이션의 메타데이터 및 성능 속성에 액세스하고 조작할 수 있는 통합 API를 제공합니다. MBean: Management BeanMBean(Management Bean)은 JMX의 핵심 개념으로, 모니터링하고 관리할 수 있는 애플리케이션의 일부를 캡슐화합니다. MBean에는 애플리케이션의 상태에 액세스하고 작업을 수행하는 데 사용되는 속성(읽기 또는 쓰기 가능)과 작업(메서드)이 있습니다. MXBean: 관리 확장 BeanMXBean은 MBean의 확장으로, 고급 모니터링 및 관리 기능을 제공합니다. MXBean은 JMX 사양에 의해 정의되며 사전 정의되어 있습니다.