Docker 컨테이너가 실행 중일 때 포트 매핑 매개 변수를 지정하지 않으면 컨테이너 외부의 네트워크를 통해 컨테이너 내의 네트워크 응용 프로그램 서비스에 액세스할 수 없으므로 docker 포트 매핑을 통해 호스트를 바인딩해야 합니다. 포트 로컬이 아닌 클라이언트가 컨테이너 내부에서 실행되는 서비스에 액세스할 수 있도록 하는 시스템에 대한 인터페이스입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!