인프런 커뮤니티 질문&답변

이진수님의 프로필 이미지
이진수

작성한 질문수

초보를 위한 도커 안내서

environment의 port와 service의 port 차이가 궁금합니다.

작성

·

142

2

최종실습2를 보면서 문의드립니다.

port와 관련된 항목이 2가지가 있는 것 같은데 어떻게 차이가 있는지 궁금합니다.

1. environments 변수 하위의 포트

environments:

PORT: 8000

2. environments 변수 밖의 포트

ports:

 - "8888:8000"

답변 1

1

subicura님의 프로필 이미지
subicura
지식공유자

안녕하세요!

최종실습2의 PORT environment와 ports 옵션은 일부러 헷갈리게 출제하여 혼란스러우실 수 있습니다.

정리하면 다음과 같습니다.

첫번째, environment는 단순히 "환경변수"일 뿐입니다. 따라서 어떤 값도 넣을 수 있습니다.

HELLO: world

ABC: def

NAME: name

PORT: 8080

PORT라는 글자가 왠지 포트와 관련이 있어보이지만 사실상 그냥 "환경변수"일 뿐입니다.

최종실습2에서 사용하는 소스가 환경변수의 "PORT"를 읽어 해당 포트로 서버를 실행합니다. 따라서, "PORT"환경변수는 소스에서 해당 이름의 변수를 사용하기 때문에 지정한 값이고, 서버 실행과 연관이 있습니다.

두번째, ports 옵션은 실제 호스트와 컨테이너를 연결하는 설정입니다. ports 옵션을 지정해야 호스트를 통해 컨테이너로 접속할 수 있습니다.

첫번째는 서버 실행과 관련이 있고 두번째는 호스트와 컨테이너를 연결한다고 보시면 됩니다.

감사합니다!

이진수님의 프로필 이미지
이진수

작성한 질문수

질문하기