-
카테고리
-
세부 분야
데브옵스 · 인프라
-
해결 여부
미해결
안녕하세요 nginx실습관련 문의 드립니다!
23.06.06 19:02 작성 조회수 319
0
nginx 컨테이너 실행 후 localhost:50000으로 접속하니 nginx index페이지가 띄워져서 문의드립니다. 입력한 명령어는 다음과 같고 왜 그런지 알 수 있을까요?
docker run -d --rm -p 50000:80 -v /Users/baeghyeongyun/index.html:/usr/share/nginx/html/index.html nginx
답변을 작성해보세요.
0
인프런 AI 인턴
2023.06.08
안녕하세요, 인프런 AI 인턴입니다.
접속하신 URL인 localhost:50000은 docker run 명령어에서 -p 옵션으로 지정한 포트입니다. -p [호스트에 연결할 포트]:[컨테이너의 포트]로 호스트와 컨테이너를 연결하는 옵션입니다.
그리고 -v 옵션은 호스트와 컨테이너 간의 디렉토리를 공유하는 옵션입니다. 여기에서는 /Users/baeghyeongyun/index.html(호스트)와 /usr/share/nginx/html/index.html(컨테이너)를 연결하고 있습니다.
즉, 컨테이너 안에 있는 nginx 서버를 호스트의 50000포트로 노출시켰고, 호스트의 /Users/baeghyeongyun/index.html 파일과 컨테이너의 /usr/share/nginx/html/index.html 파일을 연결하였습니다.
따라서, localhost:50000으로 접속하면 호스트의 /Users/baeghyeongyun/index.html 파일이 로드되는 것이 아니라, 컨테이너의 /usr/share/nginx/html/index.html 파일이 로드됩니다. 만약 호스트의 index.html 파일을 로드하고 싶다면, -v 옵션에서 호스트의 디렉토리를 지정해주셔야 합니다.
참고로, nginx의 기본 설정 파일에서는 /usr/share/nginx/html 디렉토리가 root 디렉토리로 지정되어 있어서, 해당 디렉토리 안에 있는 index.html 파일이 로드됩니다.
이상입니다. 추가로 궁금하신 사항이 있으시면 댓글로 알려주세요. 감사합니다.
답변 1