docker -p 옵션과 Dockerfile의 EXPOSE 차이가 뭔가요?
1407
작성한 질문수 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 옵션을 사용한것을 확인했는데 두 방법의 차이점과 각 어느상황에서 사용하는 건지 궁금합니다!
답변 1
0
안녕하세요!
일단, 포트를 연결하는 방법은 "-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





