Docker SpringBoot 프로젝트가 로컬 데이터베이스에 연결됩니다.

로컬 컨테이너에서 실행 중인 애플리케이션이 로컬 머신의 PostgreSQL 데이터베이스에 연결되도록 허용하려면 다음 단계를 따르세요.

  1. PostgreSQL 데이터베이스가 이 머신에 설치되어 실행되고 있는지 확인하세요. psql 명령줄 도구 또는 기타 시각적 도구를 사용하여 로컬 시스템의 데이터베이스를 관리하고 연결할 수 있습니다.

  2. 애플리케이션의 구성 파일에서 로컬 머신의 PostgreSQL 데이터베이스에 연결하도록 데이터베이스 연결을 구성합니다. 일반적으로 다음 연결 매개변수를 지정해야 합니다.

    • 호스트 이름: 일반적 localhost으로 또는 127.0.0.1, 로컬 시스템을 나타냅니다.
    • 포트 번호: 기본적으로 PostgreSQL은 포트 5432를 사용합니다.
    • 데이터베이스 이름: 연결하려는 데이터베이스의 이름입니다.
    • 사용자 이름 및 비밀번호: 데이터베이스에 연결하는 데 사용되는 사용자 이름과 비밀번호입니다.

    예를 들어 애플리케이션 구성 파일의 데이터베이스 연결 구성은 다음과 같습니다.

    spring.datasource.url=jdbc:postgresql://localhost:5432/mydatabase
    spring.datasource.username=myuser
    spring.datasource.password=mypassword
    

    위 구성을 mydatabase연결하려는 실제 데이터베이스 이름 myusermypassword실제 데이터베이스 사용자 이름 및 비밀번호로 바꾸십시오.

  3. 로컬로 실행되는 Docker 컨테이너에서 애플리케이션이 로컬 머신의 PostgreSQL 데이터베이스에 액세스할 수 있는지 확인하세요. 기본적으로 Docker 컨테이너는 로컬 시스템과 네트워크를 공유하며 localhost또는 를 통해 127.0.0.1로컬 시스템의 서비스에 액세스 할 수 있습니다. 따라서 컨테이너에서 기본적으로 동일한 데이터베이스 연결 구성을 사용할 수 있습니다.

    컨테이너에서 포트 매핑이 사용되는 경우(예: 컨테이너의 포트 8080이 로컬 시스템의 포트 8080에 매핑됨) 데이터베이스 연결 구성의 호스트 이름을 로컬 시스템의 IP 주소로 변경해야 합니다. docker.for.mac.host.internal또는 호스트 이름으로 사용할 수 있습니다 docker.for.win.localhost. 이는 기본적으로 서비스에 액세스하기 위해 Mac 및 Windows의 Docker Desktop에서 제공하는 특수 호스트 이름입니다.

    예를 들어 포트 매핑이 컨테이너에서 사용되고 컨테이너의 8080 포트가 로컬 시스템의 8080 포트에 매핑된 경우 애플리케이션 구성 파일의 데이터베이스 연결 구성은 다음과 같습니다.

    spring.datasource.url=jdbc:postgresql://docker.for.mac.host.internal:5432/mydatabase
    spring.datasource.username=myuser
    spring.datasource.password=mypassword
    

    위 구성을 mydatabase연결하려는 실제 데이터베이스 이름 myusermypassword실제 데이터베이스 사용자 이름 및 비밀번호로 바꾸십시오.

위 단계를 수행하면 로컬 컨테이너의 애플리케이션이 로컬 머신의 PostgreSQL 데이터베이스에 연결할 수 있어야 합니다. 데이터베이스 연결이 올바르게 구성되어 있고 로컬 시스템의 PostgreSQL 데이터베이스가 실행 중인지 확인하세요.

추천

출처blog.csdn.net/xiaohuihui1400/article/details/133359872