• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

포트가 8000 으로 설정된건지 9000번인지 모르겠습니다

23.02.09 19:45 작성 조회수 476

0

강의를 따라가는중

 

docker run --rm -p 9000:8000 test_dj

에서 도커를 실행시켰는데 접속페이지가 강의상에선

http://localhost:9000/에서 접속이 가능한데 반해

저는

http://localhost:8000/에서만 접속이 가능합니다

어떤설정을 제가 잘못했길래 이렇게 될까요?

 

답변 2

·

답변을 작성해보세요.

0

봄봄님의 프로필

봄봄

질문자

2023.02.10

답변 감사합니다 해결하였습니다
강사님 말씀대로 제가 따로 vs코드에서 띄우고 도커로 또 실행시켯던거 같습니다 ㅜㅜ
오늘 다시하니 잘되네요

0

안녕하세요.

도커 컨테이너 내부에 띄운 서버는, 현재 사용하시는 개발머신 (윈도우/맥) 과는 별개로 서버를 띄우시는 것입니다. 그러니 도커 컨테이너 내에서 8000 포트로 서버를 띄우더라도, 개발머신(윈도우/맥)에서는 그 서버에 접속할 수 없습니다.

docker run 시에 -p 9000:8000 옵션의 의미는
도커 컨테이너 내부에서 8000 포트로 서버를 실행하고 있다면,
개발머신(윈도우/맥) 에서 직접 서버를 띄우진 않았지만, 개발머신의 9000 포트로 접속하면 해당 컨테이너의 8000포트로 요청을 전달하겠다라는 의미입니다.

그러니

  1. 도커 컨테이너에서 8000 포트로 서버를 띄우시고

  2. -p 9000:8000 옵션으로 개발머신의 9000 포트로 들어오는 요청을 컨테이너의 8000 포트로 전달토록 옵션을 주시고,

  3. 그 후에 개발머신의 9000 포트로 접속하시면, 그 요청을 컨테이너의 8000 포트로 돌고 있는 서버에서 받아서 처리하게 되는 것입니다.

현재 localhost:8000 으로 접속이 가능하다고 하시는 것은
도커 컨테이너가 아니라, 개발머신에서 직접 장고 서버를 띄워두신 그 서버에 접속하고 있는 상황이 아닐까요?

살펴보시고, 또 질문 남겨주세요. :-)

화이팅입니다.