>운영 및 유지보수 >Docker >Docker에 포트 매핑이 필요한 이유는 무엇입니까?

Docker에 포트 매핑이 필요한 이유는 무엇입니까?

WBOY
WBOY원래의
2022-08-23 17:52:374248검색

Docker 컨테이너가 실행 중일 때 포트 매핑 매개 변수를 지정하지 않으면 컨테이너 외부의 네트워크를 통해 컨테이너 내의 네트워크 응용 프로그램 서비스에 액세스할 수 없으므로 docker 포트 매핑을 통해 호스트를 바인딩해야 합니다. 포트 로컬이 아닌 클라이언트가 컨테이너 내부에서 실행되는 서비스에 액세스할 수 있도록 하는 시스템에 대한 인터페이스입니다.

Docker에 포트 매핑이 필요한 이유는 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.

Docker에 포트 매핑이 필요한 이유

Doker는 쉽게 말하면 프로그램과 실행 환경을 패키징하고 환경과 프로그램을 함께 게시할 수 있는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 프로그램을 게시해야 하는 경우 doker를 사용하여 실행 환경을 함께 게시할 수 있습니다. 다른 사람들이 프로그램을 얻은 후 직접 실행할 수 있으므로 한 번 컴파일하고 어디서나 디버깅하는 당황스러운 상황을 피할 수 있습니다.

더 직설적으로 말하면, doker의 출현은 주로 왜 내 컴퓨터에서는 정상이지만 귀하의 컴퓨터에서는 정상이 아닌 문제를 해결하기 위한 것입니다. Docker 컨테이너에는 실행 중, 일시 중지됨, 다시 시작됨, 종료라는 네 가지 상태가 있습니다.

Doker 포트 매핑이 필요한 이유는 무엇인가요?

Docker 컨테이너가 실행 중일 때 포트 매핑 매개변수가 지정되지 않으면(호스트 머신과 가상 머신 간의 포트 매핑이 구성되지 않음) 다음에서 네트워크를 통해 컨테이너에 있는 네트워크 애플리케이션 및 서비스에 액세스할 수 없습니다. 컨테이너 외부(외부 프로그램 포트가 없어 가상 머신에 접근할 수 없음) 이 문제를 해결하려면 doker 포트 매핑을 설정해야 합니다.

Docker는 포트를 통해 호스트 시스템의 인터페이스를 바인딩하여 로컬이 아닌 클라이언트가 컨테이너 내부에서 실행되는 서비스에 액세스할 수 있도록 합니다. 컨테이너 간의 통신을 용이하게 하기 위해 docker는 이러한 연결 메커니즘을 제공합니다.

Docker의 두 가지 일반적인 포트 매핑 방법

포트 자동 매핑

  -P使用时需要指定--expose选项,指定需要对外提供服务的端口
  $ sudo docker run -t -P --expose 22 --name server ubuntu:14.04

docker run -P를 사용하여 외부 서비스를 제공하는 모든 컨테이너 포트를 자동으로 바인딩하면 매핑된 포트가 사용되지 않는 포트 풀에서 제거됩니다( 49000..49900)이 자동으로 선택됩니다. docker ps, dockerspect 또는 docker port를 통해 특정 바인딩 정보를 확인할 수 있습니다.

포트를 지정된 인터페이스에 바인딩

 기본 구문

  $ sudo docker run -p [([:[host_port]])|():] [/ udp]

  기본적으로 바인딩 IP가 지정되지 않으면 모든 네트워크 인터페이스가 모니터링됩니다.

추천 학습: "docker 비디오 튜토리얼"

위 내용은 Docker에 포트 매핑이 필요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.