Docker를 사용하면 컨테이너에 대한 외부 액세스 또는 컨테이너 간의 상호 연결을 통해 네트워크 서비스를 제공할 수 있습니다. 컨테이너가 시작된 후 일부 네트워크 애플리케이션을 컨테이너에서 실행할 수 있으며, 포트 매핑은 -p 또는 -P 매개변수를 통해 지정됩니다.
1) 컨테이너 시작 시 컨테이너 내부의 열린 포트에 매핑할 포트를 선택합니다.
-p 소문자 p는 docker가 특정 호스트 포트를 선택하여 컨테이너 내부의 열린 네트워크 포트에 매핑한다는 의미입니다.
-P 대문자 P는 docker가 호스트 포트를 무작위로 선택하고 이를 컨테이너 내부의 개방형 네트워크 포트에 매핑한다는 의미입니다.
[root@docker-test ~]# docker run -ti -d --name my-nginx -p 8088:80 docker.io/nginx 2218c7d88ccc917fd0aa0ec24e6d81667eb588f491d3730deb09289dcf6b8125 [root@docker-test ~]# docker run -ti -d --name my-nginx2 -P docker.io/nginx 589237ceec9d5d1de045a5395c0d4b519acf54e8c09afb07af49de1b06d71059 [root@docker-test ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 589237ceec9d docker.io/nginx "nginx -g 'daemon ..." 6 seconds ago Up 5 seconds 0.0.0.0:32770->80/tcp my-nginx2 2218c7d88ccc docker.io/nginx "nginx -g 'daemon ..." About a minute ago Up About a minute 0.0.0.0:8088->80/tcp my-nginx
위에서 볼 수 있습니다:
컨테이너 my-nginx는 -p로 시작되고, 컨테이너 내부의 80 포트에 매핑될 호스트의 특정 8088 포트를 선택한 다음 http://localhost에 액세스합니다. /8088
container My-nginx2는 시작할 때 -P를 사용하고 호스트 시스템에서 임의의 포트를 선택하여 컨테이너 내부의 포트 80에 매핑합니다. 여기서 임의의 포트는 32770입니다. http://localhost/32770
을 방문하세요. 더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트의 docker tutorial 칼럼을 주목하세요.
위 내용은 도커 포트를 호스트 시스템에 매핑하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!