Docker-compose로 db 구성 시, Error: connect ECONNREFUSED 127.0.0.1:5432 at TCPConnectWrap.afterConnect 발생

개발/Docker 2022. 5. 13. 04:12

$ Docker-compose up을 실행할 때, NestJS에서 Error: connect ECONNREFUSED 127.0.0.1:3301로 데이터베이스와 연동이 되지않는 이슈가 발생했다. Postgresql 연동 에러인데 에러 로그의 포트 번호가 3301 인 이유는 Docker-compose.yml 파일에서 아래와 같이 5432에서 3301로 포트 포워딩을 했기 때문이다. postgresql: container_name: db image: postgres:latest networks: - app-tier volumes: - ./postgresql/db:/var/lib/postgresql/data/ environment: // 환경변수 값 ports: - "3301:5432" restart: alwa..

Article Thumbnail
Docker 환경 변수 설정

개발/Docker 2022. 5. 11. 08:20

Docker로 postgres 와 NestJs로 서버를 띄웠는데 NestJs 부분의 DockerFile 내부에 환경 변수를 따로 선언하지 않아 위와 같이 환경 변수를 잡아오지 못하는 이슈가 발생하였다. DockerFile 내부에 ENV를 사용하여 아래와 같은 방법으로 환경 변수를 추가할 수 있다. 1. 한 번의 ENV에 모든 환경 변수를 선언하는 방법 FROM node:14 RUN mkdir -p /app/src WORKDIR /app COPY ./server ./ RUN npm install ENV DB_HOST=localhost \ DB_PORT=3301 \ DB_USERNAME=postgres \ DB_PASSWORD=test1234 \ DB_DATABASE=test_db EXPOSE 8001 CM..

Article Thumbnail
Docker-compose 사용시 package.json undefined 에러 발생 시

개발/Docker 2022. 2. 6. 08:20

Dockerfile로만 $ docker run을 통해 단독으로 컨테이너를 실행하면 정상적으로 작동하지만, $ docker-compose up을 통해 모든 컨테이너를 실행시키면, 위와 같이 nodejs의 컨테이너에서 package.json을 찾지 못한다는 에러가 발생하였다. 에러가 발생하는 해당 Dockerfile을 살펴보면 아래와 같다. FROM node:17 // node 17 버전을 불러옵니다. WORKDIR /app // 작업 경로를 /app으로 지정합니다. COPY package.json ./ // package.json을 /app 내부로 복사합니다. RUN npm install // npm install을 통해 node_modules를 설치합니다. COPY . . // 프로젝트 디렉토리를 현재 ..

Article Thumbnail
Docker: Cannot run program "/usr/local/bin/docker-compose" (in directory) error=13, Permission denied 발생 시

개발/Docker 2022. 2. 5. 08:20

docker update 이후.$ docker-compose up을 실행했을 때 위와 같이 permission 에러가 발생하였다. 권한 문제로 생기는 문제여서 $ sudo chmod -R 777 /usr/local/bin를 통해 권한 문제를 해결하면 아래와 같이 정상적으로 동작한다.

Article Thumbnail