Port Mapping Before the Docker container is started, if port mapping is not performed, network applications and services in the container cannot be accessed through the network outside the container. Because some network applications and services are often run in containers, if you want to access the network applications and services in the container through the network outside the container, you need to map ports to the container. You can use the Random port mapping When port mapping is performed through the Taking [root@izoq008ryseuupz ~]# docker image pull nginx Using default tag: latest latest: Pulling from library/nginx 852e50cd189d: Already exists 571d7e852307: Pull complete addb10abd9cb: Pull complete d20aa7ccdb77: Pull complete 8b03f1e11359: Pull complete Digest: sha256:6b1daa9462046581ac15be20277a7c75476283f969cb3a61c8725ec38d3b01c3 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest [root@izoq008ryseuupz ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest bc9a0695f571 2 days ago 133MB Then create a container [root@izoq008ryseuupz ~]# docker run -itd -P --name nginx.1 nginx 91e3c7ed957f8196fd631eb7bce21acaa96bc253551303ecba2bf193201284ba Through the [root@izoq008ryseuupz ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 91e3c7ed957f nginx "/docker-entrypoint.…" 17 minutes ago Up 5 seconds 0.0.0.0:32775->80/tcp nginx.1 Through the [root@izoq008ryseuupz ~]# docker logs nginx.1 ... 111.8.49.168 - - [27/Nov/2020:09:03:53 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "-" 2020/11/27 09:03:53 [error] 21#21: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 111.8.49.168, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "ip:32775", referrer: "http://ip:32775/" 111.8.49.168 - - [27/Nov/2020:09:03:53 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://ip:32775/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "-" Specifying port mapping Use the [root@izoq008ryseuupz ~]# docker run -itd -p 8083:80 --name nginx.2 nginx 0e62792a194559bf33c2b39f70b64133cb89a48846278ccee651fda68aa6dad1 [root@izoq008ryseuupz ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0e62792a1945 nginx "/docker-entrypoint.…" 6 seconds ago Up 5 seconds 0.0.0.0:8083->80/tcp nginx.2 At this time, access port Through the [root@izoq008ryseuupz ~]# docker logs nginx.2 ... 111.8.49.168 - - [27/Nov/2020:09:28:32 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "-" 2020/11/27 09:28:32 [error] 28#28: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 111.8.49.168, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "ip:8083", referrer: "http://ip:8083/" 111.8.49.168 - - [27/Nov/2020:09:28:32 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://ip:8083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" "-" Through the [root@izoq008ryseuupz ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0e62792a1945 nginx "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:8083->80/tcp nginx.2 91e3c7ed957f nginx "/docker-entrypoint.…" 53 minutes ago Up 36 minutes 0.0.0.0:32775->80/tcp nginx.1 Explanation of First, C:\Users\Kaven>ping 0.0.0.0 Pinging 0.0.0.0 with 32 bytes of data: PING: Transmission failed. Common faults. PING: Transmission failed. Common faults. PING: Transmission failed. Common faults. PING: Transmission failed. Common faults. Ping statistics for 0.0.0.0: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Specified port mapping for a specified address You can use the format of [root@izoq008ryseuupz ~]# docker stop nginx.2 nginx.2 [root@izoq008ryseuupz ~]# docker run -itd -p 127.0.0.1:8083:80 --name nginx.3 nginx a20b18b97fa4bf7576f6a0d769394a390cfb64ad5fc895453b548bf3f75105ca [root@izoq008ryseuupz ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a20b18b97fa4 nginx "/docker-entrypoint.…" 4 seconds ago Up 4 seconds 127.0.0.1:8083->80/tcp nginx.3 You can also view the port mapping information through "Ports": { "80/tcp": [ { "HostIp": "127.0.0.1", "HostPort": "8083" } ] } The following command cannot start the container because it uses docker run -itd -p 8083:80 --name nginx.4 nginx [root@izoq008ryseuupz ~]# docker run -itd -p 8083:80 --name nginx.4 nginx a5211ec678440044945e4d6f16fe59f3ac10367192262768096e7b748ebd027c docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx.4 (809bed1de2bb89f5d54b5b200503701279a153e60dac08b93e13af8c40a02e36): Error starting userland proxy: listen tcp 0.0.0.0:8083: bind: address already in use. The following command can start the container. docker run -itd -p 127.0.0.2:8083:80 --name nginx.5 nginx [root@izoq008ryseuupz ~]# docker run -itd -p 127.0.0.2:8083:80 --name nginx.5 nginx f60dcb586968471e7a8127ccef4cb4e89c4198df748da404f78afaff4afa42de Through the [root@izoq008ryseuupz ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f60dcb586968 nginx "/docker-entrypoint.…" 19 seconds ago Up 18 seconds 127.0.0.2:8083->80/tcp nginx.5 a5211ec67844 nginx "/docker-entrypoint.…" 2 minutes ago Created nginx.4 a20b18b97fa4 nginx "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 127.0.0.1:8083->80/tcp nginx.3 0e62792a1945 nginx "/docker-entrypoint.…" 29 minutes ago Exited (0) 7 minutes ago nginx.2 91e3c7ed957f nginx "/docker-entrypoint.…" About an hour ago Up 58 minutes 0.0.0.0:32775->80/tcp nginx.1 Random port mapping for a specified address You can use the format of [root@izoq008ryseuupz ~]# docker run -itd -p 127.0.0.1::80 --name nginx.6 nginx 396b7d9e64c047187c0391485ba1d275587d86409573e882bc68a9357dfcb6f2 [root@izoq008ryseuupz ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 396b7d9e64c0 nginx "/docker-entrypoint.…" 9 seconds ago Up 9 seconds 127.0.0.1:32768->80/tcp nginx.6 You can see that Docker maps port Multiple port mappings Use multiple [root@izoq008ryseuupz ~]# docker run -itd -p 9091:9091 -p 9092:8080 -p 9093:8083 --name nginx.8 nginx 5ac6438dcc2a2d1b7f668eb10d8285085c396a44f896aae0b3dc09935e4e95eb [root@izoq008ryseuupz ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5ac6438dcc2a nginx "/docker-entrypoint.…" 6 seconds ago Up 4 seconds 80/tcp, 0.0.0.0:9091->9091/tcp, 0.0.0.0:9092->8080/tcp, 0.0.0.0:9093->8083/tcp nginx.8 View port mapping configuration [root@izoq008ryseuupz ~]# docker port nginx.6 80 127.0.0.1:32768 [root@izoq008ryseuupz ~]# docker port nginx.5 80 127.0.0.2:8083 [root@izoq008ryseuupz ~]# docker port nginx.3 80/tcp -> 127.0.0.1:8083 [root@izoq008ryseuupz ~]# docker port nginx.8 8080/tcp -> 0.0.0.0:9092 8083/tcp -> 0.0.0.0:9093 9091/tcp -> 0.0.0.0:9091 This is the end of the introduction to port mapping for Docker containers. This is the end of this article about the configuration of Docker's primary network port mapping. For more relevant Docker port mapping content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: A line of CSS code that crashes Chrome
>>: JS realizes the effect of Baidu News navigation bar
bgcolor="text color" background="ba...
HTML img produces an ugly blue border after addin...
Sprite Cow download CSS Lint download Prefixr dow...
Summarize This article ends here. I hope it can b...
Preface The reason for writing this article is mai...
Among classic color combinations, probably no one...
Table of contents Ref and Reactive Ref Reactive T...
Table of contents 1. v-on directive 1. Basic usag...
Table of contents Preface 1. Create a new Vue pro...
Table of contents 1. Problem Description 2. Probl...
Table of contents nonsense Functions implemented ...
Table of contents Create a new user Authorize new...
Anyone who has worked on a large system knows tha...
Introduction: Lambda Probe (formerly known as Tom...
Scenario 1: To achieve a semi-transparent border:...