inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

초보를 위한 도커 안내서

[개인실습] Nginx를 이용한 정적 페이지 서버 만들기

docker -p 옵션과 Dockerfile의 EXPOSE 차이가 뭔가요?

1407

Mik Leinad

작성한 질문수 1

1

두 옵션의 차이점이 잘 이해가 되지 않아 질문드립니다..! 

저는 Dockerfile에 

From    nginx:latest

COPY    index.html /user/share/nginx/html

EXPOSE    8000

위와같이 명시한 후

$ docker build -t web:nginx .

$ docker run -d --rm --name nginxweb web:nginx

위와같이 실행하였습니다. 그런데 웹에서 접속 확인 시 재대로 접속이 되지 않아서 (페이지 자체에 요청이 되지 않았습니다..) docker ps 로 확인해보니

PORTS

80/tcp, 8000/tcp

와같이 적혀있고 매핑된것처럼 표시되지 않았습니다.

이후 정답지를 보니 docker run -p 옵션을 사용한것을 확인했는데 두 방법의 차이점과 각 어느상황에서 사용하는 건지 궁금합니다! 

docker

답변 1

0

subicura

안녕하세요!

일단, 포트를 연결하는 방법은 "-p"를 사용하는 것입니다.

EXPOSE는 "이런 포트를 사용한다는 설정"만 알려주고 실제로 포트를 연결하지는 않습니다.

그럼 EXPOSE를 안써도 포트 연결이 가능할까요? 네 가능합니다. EXPOSE는 단순히 정보성 설정이라고 보시면 될 것 같습니다.

EXPOSE를 쓰는 이유는 이 컨테이너가 어떤 포트를 사용하는지 알려주고, 만약 전체 포트를 연결하고 싶다면 "-P(대문자)" 옵션이 존재합니다.

감사합니다!

실습코드

0

118

1

-v 옵션 후 workpress database 에러

0

127

1

Error establishing a database connection 질문 드립니다.

0

345

1

다중 컨테이너 실행 (APP)

0

190

1

ghost 실습 데이터베이스 에러

0

326

1

ghost 관리자 화면, 환경변수 url

0

231

1

ghost 실습 - 환경변수 url (2024)

0

243

1

hellonode 실습 질문있습니다.

0

195

1

docker-compose.yml 속성 문의

0

287

1

docker run 명령어중 /bin/sh 파라미터 문의

0

407

1

docker run -p 3000:3000 실행 시 오류

0

461

1

node app.js 실행 에러

0

327

1

Permission denied

0

683

1

result code build 시에 오류 있으신 분들

4

371

2

frontend, backend environment port 속성 관련 질문

0

375

1

app.js 실행 시 http 모듈 관련 이슈

0

346

1

방명록 배포과정중 질문이 있습니다.

0

309

1

Error establishing a database connection 에러 해결좀 해주세요

0

1412

1

docker 설치 오류

0

631

1

도커 기본 명령어 진행 중 막히는 부분

0

362

1

custom docker와 Base Image

0

251

1

안녕하세요 -d 옵션과 --rm 옵션에 대해서 질문을 하고자 합니다!

0

289

1

-v flag 에 질문있습니다

0

254

1

윈도우 파워쉘로 도커를 할라고하는데 컨테이너 만들기는 어떻게 해야되나요

0

788

1