두 번째: 호스트 측 웹 브라우저에서 가상 머신에 서 있는 docker의 웹 서버에 액세스
2682 단어 dockerfile도커VirtualBox
하고 싶은 일
게제대로.
환경
전제 조건
Key Word: NAT + 호스트 전용 어댑터
했던 일
이름 (선택 사항)
프로토콜
호스트 포트
게스트 포트
HTTP ※1
TCP
50080
80
HTTP ※2
TCP
58080
8080
SSH
TCP
50022
22
※1 게스트OS상에 서버(Tomcat, apache2등)를 세운 상태에서 호스트측으로부터 "http://게스트OS의 IP 애드:50080"
에 액세스하면 서 있는 서버의 환영 페이지로 전환
※2 docker 위에 세운 웹 서버에 액세스하기 위한 포트를 지정(포트 번호는 임의로 OK)
에 접속하기 때문에 웹 브라우저에서 "Hello world"를 출력하는 간단한 웹 앱
이미지를 만듭니다. (여기는 이번 주안이 아니기 때문에 절차의 개요 만 남겨 둡니다)
※Dockerfile은 임의의 디렉토리내에 작성
※Dockerfile을 작성한 것과 같은 디렉토리내에 index.html("Hello world"라고 기재)도 준비해 둔다
※Dockerfile의 기재 내용은 아래의 기사를 참고로 했다
htps : // m / n l0_b / ms / 1에서 829288db2670276 8
순서 1: 게스트 OS상에 임의의 디렉토리를 작성
2단계: 만든 디렉터리에 Dockerfile 만들기
#Dockerfileの中身
FROM centos
CMD echo "now running..."
RUN yum install -y httpd
ADD ./index.html /var/www/html/
#ポート80を開ける
EXPOSE 80
#起動した時にapache起動するコマンド
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
$ docker run -d --name コンテナ名(任意) -p 8080:80 イメージ名(or ID)
※ "-p 8080:80"로 하는 것으로, 게스트 OS측의 8080포트와 컨테이너측의 80포트가 끈다.
※ 게스트 OS 측의 8080 포트는 호스트 측의 58080 포트와 연결되어 있으므로,
호스트 측에서 게스트 OS 측의 58080 포트에 대한 액세스는 게스트 OS의 8080 포트를 통해
컨테이너측의 80에의 액세스가 되어, 컨테이너상의 Web 서버에의 액세스가 가능하게 된다.
실제로 액세스해 보세요
⚪︎ 호스트 측에서 게스트 측으로 50080 포트를 통해 액세스 한 경우
→게스트 OS상에서 기동하고 있는 apache2의 디폴트 페이지가 표시된다.
⚪︎ 호스트 측에서 게스트 측으로 58080 포트를 통해 액세스 한 경우
→ "Hello world"가 표시된다.
Reference
이 문제에 관하여(두 번째: 호스트 측 웹 브라우저에서 가상 머신에 서 있는 docker의 웹 서버에 액세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkmr0606/items/b654d477d5978154986c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)