도커가 없이 웹서버를 사용한다면 두개의 컴퓨터가 필요할 것이다.
웹 브라우저에서 url을 입력하면 해당 포트번호에 맞는 80번 포트에 대기중인 Web Server로 요청이 전달된다.
Web Server는 usr/local/apache2/htdocs/에 있는 index.html파일을 찾아
Web Browser에게 전달하는 과정이 일어난다.
도커를 이용하여 웹서버를 사용한다면 웹 서버가 컨테이너에 설치된다.
(컨테이너가 설치되어있는 운영체제는 docker host이다.
하나의 도커 호스트에는 여러개의 컨테이너가 만들어질 수 있고 각각의 컨테이너는 독립적이다.)
웹 브라우저에서 url을 입력하면 Host의 해당 포트번호로 요청이 전달된다. 컨테이너와 Host를 연결하기 위해서는 포트포워딩을 통해 연결해줘야 한다(ex. docker run -p 80:80 httpd).
그러면 아래 그림과 같이 컨테이너의 index.html 파일을 찾을 수 있다.
ws1와 ws2라는 이름의 컨테이너를 두개 생성해보자.
ws1의 Host 포트 번호는 8080, 컨테이너 포트 번호는 80 으로 연결하고,
ws2의 Host 포트 번호는 8081, 컨테이너 포트 번호는 80으로 연결해보자.
ws1
docker run --name ws1 -p 8080:80 httpd
ws2
docker run --name ws2 -p 8081:80 httpd
포트포워딩이 잘 되고 있는 것을 확인할 수 있다.
'DevOps > Docker' 카테고리의 다른 글
[Docker] 도커 명령어 사용해보기 (0) | 2021.12.12 |
---|---|
[Docker] 도커 Image, Container (0) | 2021.08.19 |
[Docker] 도커 입문 (0) | 2021.08.19 |
댓글