Docker파일 안에서 prisma migrate를 하기 위해 npm run migrate:dev를 RUN 키워드와 함께 실행 시켰지만, Error: P1001 에러와 함께 db컨테이너에 접속 할 수 없다는 메시지를 보게 되었습니다. 잊지 않기 위해 어떻게 해결 하였는지 정리해봅니다. 혹시 컨테이너간에 어떻게 통신해야 하는지 잘 모른다면 이전에 올린 포스트를 참고해 주시길 바랍니다. (docker-compose로 db, 백엔드 컨테이너 연결 포스트) Docker Prisma 연결 실패 앞선 포스트에서처럼 커스텀 브릿지 설정을 통해 백엔드 컨테이너 내부에서 db컨테이너로 연결이 잘 되었지만, docker-compose up -d 명령어를 이용하면 항상 아래와 같은 에러가 발생했습니다. 이 당시 나의 doc..
Docker
docker-compose.yml 파일을 이용해서, backend 서버 컨테이너와 db 컨테이너를 연결하는 방법에 대해 정리해 보고자 합니다. 컨테이너 간 통신 방법 - bridge 설정 Docker 컨테이너 간 통신을 하기 위해서 각 컨테이너들은 하나의 network에 있어야 합니다. 기존에는 links를 이용해서 연결이 가능했지만, networks의 도입으로 곧 deprecated 되므로 networks를 사용합시다. (links will be deprecated) networks는 docker-compose 파일을 이용해 설정이 가능한데 그 방법은 아래와 같습니다. version: '3.8' services: frontend: container_name: habits_frontend # ... ne..
mysql 이미지를 docker-compose.yml을 이용해 컨테이너로 띄우고, Host 컴퓨터에서 컨테이너 mysql에 접속하는 방법에 대해 정리하고자 합니다. docker-compose로 Mysql Image 띄우기 저는 frontend, backend 서비스를 mysql 이미지와 함께 띄울 예정이었기에, docker-compose.yml 파일을 이용하기로 결정했습니다. 제 docker-compose.yml 파일은 아래와 같습니다. 패스워드와 데이터베이스명은 직접 입력해주시면 되겠습니다. version: '3.8' services: frontend: # ... backend: # ... db: image: mysql:8.1.0 volumes: - mysql-data:/var/lib/mysql por..
이 글은 docker container를 띄운 상태에서 local에 있는 db와 접속하는 방법에 대한 글입니다. [ 해결 전 상태 ] NestJS로 서버를 도커 컨테이너에 띄웠는데, 이걸 내 local 컴퓨터 안에 있는 DB에 접속하기 위해 아래처럼 작성 하니, 계속 에러가 발생했습니다. export const databaseProviders = [ { provide: 'DATA_SOURCE', useFactory: async () => { const dataSource = new DataSource({ type: 'mysql', host: 'localhost', port: Number(process.env.DB__PORT), username: process.env.DB__USER__NAME, passw..
Docker를 설치하는 일반적인 방법과 특정 버전을 골라 설치하는 방법에 대해 정리해보자. 해당 글은 Docker 공식 문서를 참고하였다. 여기에서는 centos에서 어떻게 Docker를 설치하는지 다룰 예정이다. Ubuntu에서 설치하는 방법도 yum이 아니라, apt-get을 쓴다는 것에서 차이가 있을 뿐, 과정은 똑같으니 공식문서를 참고해보자. 1. Uninstall old versions 가장 먼저, 기존에 남아 있을 수 있는 docker를 삭제해주자. 아래 명령어를 통해 쉽게 가능하다. sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotat..
지난 포스트에서 Dockerfile과 Image, Container의 관계에 대해서 알아봤다. 이번 포스트에서는 실제로 Dockerfile을 이용하여 어떻게 Docker Image를 만들 수 있는지 알아보자. Docker build Process DockerImage가 생성되는 과정은 아래와 같다. (하지만, 우리는 1번 2번 부분만 작업을 하면 docker가 나머지는 알아서 다 해준다.) Dockerfile을 작성한다. "docker build [경로]" 명령어를 입력한다. e.g) docker build . docker가 해당 경로에 있는 Dockerfile을 자동적으로 찾는다. Dockerfile에 있는 명령어를 실행시킨다. Docker Image가 완성된다. Dockerfile 작성 이미지 생성을..