Docker-Compose: Postgres에 대한 연결이 거부됨
Docker-compose 설정 내에서 pg-admin을 통해 Postgres에 연결할 때 사용자는 다음을 수행할 수 있습니다. Go 애플리케이션에서 연결 설정을 거부하는 경우가 있습니다. 이 문서에서는 이 문제를 자세히 살펴보고 해결책을 제공합니다.
Go 애플리케이션에서 생성된 데이터베이스 URL이 데이터베이스 호스트 이름을 "postgres"로 참조하는 반면 실제 컨테이너/서비스 이름은 "database"인 경우 문제가 발생합니다. 이 문제를 해결하려면 compose.yaml 파일 내에서 이름을 변경하거나 호스트 이름 필드를 명시적으로 정의하는 것을 고려하세요. 예:
database: build: database restart: always hostname: postgres
또는 여러 컨테이너 서비스가 서로 통신할 수 있는 전용 네트워크를 만들어 연결 문제를 방지합니다. 각 서비스의 구성에 "networks" 섹션을 추가하고 compose.yaml 끝에 네트워크를 정의합니다.
database: # ... networks: - mynet backend: # ... networks: - mynet networks: mynet: name: my-shared-db-network
이러한 변경 사항을 구현하면 Go 애플리케이션과 Postgres 간의 연결을 설정하는 동시에 Docker-compose 환경 내에서 효율적인 통신을 보장합니다.
위 내용은 내 Go 애플리케이션이 Docker Compose에서 Postgres 연결을 거부하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!