인프런 커뮤니티 질문&답변

Swoon님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

데이터베이스와 애플리케이션 연결

DB 연결 시, password authentication failed for user 에러 해결 방법

작성

·

942

·

수정됨

0

version: "3.9"
services:
  db:
    image: postgres:latest
    container_name: poster
    restart: always
    ports: 
      - "5432:5432"
    environment: 
      POSTGRES_USER: "${DB_USER_ID}"
      POSTGRES_PASSWORD: "${DB_USER_PW}"
    volumes:
      - commu:/var/lib/postgresql/data
volumes:
  commu: {}

 우선, docker compose down -v 명령어로 컨테이너를 삭제하고, data 폴더도 지워주세요.

그리고 docker-compose.yml 파일에서 volumes를 저런 식으로 변경해주면 됩니다.

변경 했으면 docker compose up 으로 컨테이너를 다시 생성해주면 정상적으로 연결됩니다.

버전은 강의에서 나온대로 3으로 사용해도 상관 없습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴이에요. DB 연결 시 password authentication failed for user 에러에 대한 해결 방법을 안내해 드리겠습니다.

에러 메시지를 보면 사용자 인증에 실패했다는 것을 알 수 있습니다. 주로 이 문제는 사용자 이름 또는 비밀번호가 잘못된 경우 발생합니다.

첫 번째로 확인해야 할 것은 POSTGRES_USERPOSTGRES_PASSWORD 환경 변수입니다. docker-compose.yml 파일에서 이 변수 값을 올바르게 설정했는지 확인해보세요.

두 번째로, 컨테이너와 데이터 폴더를 모두 삭제하고 싶다는 내용이 있으신데, docker-compose down -v 명령어를 사용하면 컨테이너와 볼륨을 모두 삭제할 수 있습니다. 이후에는 다시 docker-compose up 명령어로 컨테이너를 재생성해보세요.

마지막으로, docker-compose.yml 파일의 volumes 설정을 변경하고 싶다는 내용이 있으신데, 현재 설정은 “commu”라는 볼륨을 사용하고 있습니다. 만약 다른 이름의 볼륨을 사용하고 싶다면 해당 부분을 원하는 이름으로 수정하시면 됩니다.

이러한 점들을 확인하고 수정한 후에 다시 연결을 시도해보세요. 이렇게 하면 문제가 해결될 수 있을 것입니다. 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다.

Swoon님의 프로필 이미지

작성한 질문수

질문하기