컨테이너/도커

Docker 정리 (4) 도커 네트워크

개발정리 2021. 8. 28. 14:19

ㄴ도커로 동작하는 어플리케이션들은 네트워크를 이용하고 있다. 

 

 

 

Docker 없이 웹 서버를 설정해야 할 때


출처: 생활코딩 도커 강의

서버 컴퓨터는 약 65,000개 port 가 있는데, 이는 컴퓨터에 설치되어 있는 여러 소프트웨어들을 네트워크 적으로 구분해준다.

 

위 이미지에 나오는 서버 컴퓨터는 웹 서버가 80포트에서 접속을 대기하고 있도록 설정되어 있으며

 

웹 서버에 요청이 왔을 때 File System(데이터가 저장된 공간) 내에서 디렉토리와 파일을 찾으라는 설정에 맞추어 index.html 을 찾아 웹 브라우저에게 코드를 전달하게 된다. 

 

즉, 서버 컴퓨터 포트에 웹 서버를 설정해두고 파일시스템 설정에 따라 파일을 찾고 응답을 해주면 된다.

 

 

 

Docker 를 이용하여 웹 서버를 설정 한다면? 


출처: 생활코딩 도커 강의

웹 브라우저에서 접속을 시도하면 Host 와 Container 는 연결이 끊겨 있어 접속이 안된다. 

 

이 때 Host 의 80 port 와 Container 의 80 port 를 연결해주면 되는데 이때 명령어를 통해 혹은 도커 대시보드에서 설정이 가능하다. 

 

$docker run -p 80:80 httpd 

 

이렇게 연결하면 Host 80 port 로 들어온 신호가 Container 80 port 로 전송이 가능해지며, 이러한 과정을 Port Forwarding 이라 한다. 이 후 과정은 이 전과 동일하다. 

 

추가적으로 Host port 가 8000 으로 변경되었다면, 아래와 같이 명령어를 입력해주어야 한다.

 

$docker run -p 8000:80 httpd 

 

Container port 는 컨테이너 혹은 이미지를 만든 사람이 이미지에 설치되어 있는 프로세스에 접속할 땐 80 port 로 접속해야된다는 설정을 해두었기 때문에 이미 설정이 되어있다. 

 

아래는 이름이 ws3 인 httpd 를 port 8081 로 들어오면, Container 의 80 port 로 연결하겠다는 설정이다. 

 

$docker run -p 8081:80 httpd 

 

 

 

Script 


도커로 동작하는 어플리케이션들은 네트워크를 이용하고 있다. 

Host 의 port 와 Container 의 port 를 맞추어 설정해주어야지만 서로 신호를 주고 받을 수 있게 된다. 

 

 

 

참고강의


https://opentutorials.org/course/4781

'컨테이너 > 도커' 카테고리의 다른 글

Docker 정리 (5) 명령어 실행  (0) 2021.08.28
Docker 정리 (5) 명령어 실행  (0) 2021.08.28
Docker 정리 (4) 컨테이너 run  (0) 2021.08.28
Docker 정리 (3) 이미지 Pull  (0) 2021.08.28
Docker 정리 (2)  (0) 2021.08.28