크롤링과 도커

김하은·2023년 6월 19일
0

도커를 사용해 몽고DB를 실행하고, 크롤링한 데이터를 DB에 저장해본다.

크롤러 => 도커로 실행하고 docker-compose안에 넣어주면 name리졸루션 즉, 해당 컴퓨터 이름을 사용하면 연결이 가능하다.

문제: puppeteer가 내부에 크로미움이라는 브라우저를 가지고 있어 도커 빌드가 많이 느리다. 그리고 용량도 크기에 무겁다.

따라서 상황에 따라 다르지만 굳이 도커에 넣지 않고 로컬 상(내 컴퓨터)에서 실행하는것이 좋을 수도 있다.

이렇게 크롤러가 몽고 DB를 접속해야하는 상황이 만들어지면 이때는 포트포워딩이 필요하다.

몽고DB가 있는 도커의 포트 예를들어 27017을 열어둔다면 크롤러에서 localhost:27017로 접속을 해야한다. 이 부분이 도커 컴포즈에 적어둔

ports로 포트포워딩을 해둔 바로 이부분이다.

27017로 들어오면 27017로 내보내줘(즉, 27017DB포트 접속!)

그리고 크롤러를 통해 DB에 접속을한다.

// 몽고 DB 접속하기
mongoose.connect("mongodb://localhost:27017/myproject-docker"); // 해당 DB없으면 자동으로 만들어짐.
// 크롤러는 내 컴퓨터에서 접속. 접속할 포트는 포트포워딩에 적어둔 27017포트

0개의 댓글