🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

postgresql 연결실패

23.12.14 21:58 작성 조회수 440

0

docker-compose.yml파일에 아래와같이 작성했습니다.

포트번호를 5808로 지정해준 이유는 5432로 지정해서 접속했을때 현재 pc에 설치했던 postgresql과 충돌이 나서 로그인이 안돼서 바꾸어 주었습니다.

도커 컴포즈 실행후 postgresql 컨테이너는 정상적으로 실행이 됐으나 nest앱과 postgresql explorer에서도 연결이 되지 않았습니다. 어떻게 해결해야하는지 질문드립니다

# 서비스정의
services:
  postgres:
    image: postgres:15
    # 실행시마다 재시작
    restart: always
    # 도커컴포즈 파일에 존재하는 위치에 실제 데이터를 hostOS에 저장
    volumes:
      # 현재 도커컴포즈 파일이 존재하는 경로 : 이미지안에존재하는 경로 매핑
      - ./postgres-data:/var/lib/postgresql/data
    ports:
      #hostport:이미지의포트
      #5432포트 요청 -> 이미지의 포트로 요쳥
      - '5808:5432'
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: '1111'
      POSTGRES_DB: postgres
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PostsModel } from './posts/entities/posts.entity';

@Module({
  //다른 모듈을 등록
  //forRoot메서드는 typrorm과 nestjs와 연결할떄 사용 (DB)
  imports: [
    PostsModule,
    TypeOrmModule.forRoot({
      //데이터베이스 타입
      type: 'postgres',
      host: '127.0.0.1',
      port: 5808,
      username: 'postgres',
      password: '1111',
      database: 'postgres',
      //entities폴더에 작성한 PostsModel 가져오기
      entities: [PostsModel],
      synchronize: true,
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

답변 2

·

답변을 작성해보세요.

1

ystar5008님의 프로필

ystar5008

질문자

2023.12.15

감사합니다 선생님 postgres-data 폴더 삭제 후 포트를 변경해주고 실행시켰더니 실행됐습니다 감사드립니다

1

안녕하세요!

두가지 시도 부탁드립니다.

1) postgres-data 삭제 후 도커 재실행

2) postgres-data 삭제 후 포트 변경 후 재실행

위 둘을 해보고도 안된다면 카카오 채널로 오셔서 저 태그한 후 원격신청 부탁드립니다.

https://links.codefactory.ai

감사합니다!

채널톡 아이콘