Docker
[Docker] 4-4. 컨테이너의 통신
patrick-star
2023. 5. 20. 12:21
728x90
컨테이너와 통신할 때
웹 브라우저를 통해서 컨테이너에 접근
하려면 외부와 접속하기 위한 설정이 필요하다. 이를 위해서 포트(port)
를 설정한다.
ex) 아파치(Apahce)
⇒ 서버에서 정해둔 포트(80번 포트)에서 웹 사이트에 접근을 기다리고 접근해오면 요청에 따라 웹 사이트의 페이지
를 제공
하지만, 컨테이너 내부에서 실행 중인 아파치
는 외부와 직접 연결되지 않았기 때문에 외부에서 접근할 수 없다.
그래서 컨테이너를 실행 중인 물리적 컴퓨터가 외부의 접근을 대신 받아 전달할 수 있도록 설정한다.
예를 들어, -p 8080:80
과 같이 설정했다면
컨테이너를 실행중인 물리적 컴퓨터의 8080번 포트
와 컨테이너의 80번 포트
를 연결한 것이다.
(물론, 이때, 8080번 포트는 다른 SW가 사용하는 포트와 겹치지 않아야 한다)
그리고 컨테이너를 설정하면서 물리적 컴퓨터의 포트번호가 서로 겹치지 않도록 설정해줘야 한다.
ex) A 컨테이너 ⇒ -p 8080:80 // B 컨테이너 ⇒ -p 8081:80 // C 컨테이너 ⇒ -p 8082:80
여기서는 아파치로 예를 들었지만 mysql, flask, nginx 를 가지고 컨테이너를 만들 때도 동일한 내용이 적용된다.