docker의 컨테이너는 웹서버의 역할도 가능하다.
docker에 컨테이너를 생성 후 이에 접속하려면 다음과 같은 과정을 거쳐야 한다.
1. 호스트 컴퓨터의 포트인 80번에 신호를 전송한다. 현재 사용중인 아파치 웹서버의 기본 포트 값이 80이다.
2. 호스트의 80번 포트에 신호를 전송 후 이 80번과 연결된 컨테이너의 포트 8080번에 신호를 전송한다.
3. docker container 에 접속이 완료된다.
이를 위해선 다음과 같은 docker image 생성 과정을 거쳐야한다.
데스크톱 앱에서 이미지를 만들 때는 컨테이너 이름, 포트번호를 지정해주면 된다. 현재 웹서버의 포트번호는 80번이라 이에 연결될 컨테이너의 포트를 설정하면 된다.
나는 8080번으로 설정한다.
이렇게 하면 호스트의 80번으로 전송된 신호가 컨테이너의 8080번으로 전송된다. 이렇게 연결된 포트로 신호를 전달하는 것을 포트포워딩(Port Forwarding) 이라고 한다.
docker run --name ws4(컨테이너 이름) -p(publish, 컨테이너의 포트를 호스트에 게시) 8082:80 httpd
명령어로 컨테이너와 포트를 설정한다.
컨테이너의 포트 8082번과 80번 포트가 연결됐다.
터미널과 데스크톱 앱에서 컨테이너가 잘 조회된다.
localhost:8080/index.html 이라는 주소로 접속했더니 제대로 작동한다고 나온다.
localhost의 포트번호로 신호를 전송 후 거기에 연결된 8080번으로 접속해 index.html을 조회했다.
'프로그래밍 > IT 이것저것' 카테고리의 다른 글
[오류] docker: Error response from daemon: pull access denied (0) | 2023.08.22 |
---|---|
[오류] docker: Error response from daemon: Conflict. (0) | 2023.08.22 |
docker container, image run (0) | 2023.08.22 |
docker context에 대해 (colima와 desktop-lunux) (0) | 2023.08.22 |
Google Colab 사용법 정리 - 2.Jupyter Notebook (0) | 2023.08.05 |