Dev/트러블슈팅, 오류해결록

Docker ) 도커, 실행했는데 링크 접속이 안되는 경우!

potato-hyun 2021. 5. 31. 14:48

한줄 요약

Express 배포 포트랑, Dockerfile에 정의한 EXPOSE포트가 같은지 확인

 

컨테이너를 써보자고 호기롭게 구글링 시작!
확실히 도커 써보니까 배포과정이 간결해졌다.
서버에 올려서 오류 테스트하는 과정없이 로컬에서 바로 바로 테스트하니까 마음도 놓이고!

 

1. 프로젝트 설정시 정의한 배포 포트를 본다

// Express 환경 - 모듈 가져오기
app.set('port', process.env.port || 3000);

2. Dockerfile에서 EXPOSE 할 포트 번호를 확인한다

(1)에 정의한 3000과 다르다. 이대로 하면 웹 프로젝트에 접근이 안 된다.

# 어쩌구 저쩌구 ...
EXPOSE 8080 # 땡!땡!

3. 이 두 포트 번호를 일치시켜준다

# 어쩌구 저쩌구 ...
EXPOSE 3000

4. 플래그(포트 포워딩)* 설정을 해준다

# 80으로 접근하면 3000으로 자동 연결!
docker run --name [컨테이너 이름 설정] -p 80:3000 [이미지 네임]

 

6. 로컬에서 컨테이너를 실행하고 테스트 한다.

docker start [설정한 컨테이너 이름]

+ 실제 서버에 올리고 테스트!

 

*포트 포워딩 

p는 포트포워딩을 지정하는 옵션 [외부 포트] : [내부 포트] 으로 사용함.

즉 80포트로 들어오면 내부 프로젝트에 설정한 3000포트로 포워딩 시켜줌

 

*80 포트

도메인에 포트번호 없이 접근하면 기본으로 접근하는 포트가 80포트임

 

 

--- 참고 사이트

44bits / 팟캐스트도 너무 좋다 ㅎㅎ

https://www.44bits.io/ko/post/easy-deploy-with-docker

 

도커(Docker) 입문편: 컨테이너 기초부터 서버 배포까지

도커(Docker)는 2013년 등장한 컨테이너 기반 가상화 도구입니다. 도커를 사용하면 컨테이너를 쉽게 관리할 수 있으며, 이미지를 만들어 외부 서버에 배포하는 것도 가능합니다. 이 글은 도커를 시

www.44bits.io

포트 포워딩에 대해

https://lamanus.kr/59

 

포트 포워딩이란?

과거에는 집에 보통 컴퓨터 한 대만 사용하고 스마트폰이 없었기 때문에 인터넷을 설치한다고 하더라도 모뎀만 있으면 컴퓨터에 인터넷을 연결할 수 있었습니다. 최근 들어서는 가족 구성원 한

lamanus.kr