Docker Behälteranschluss
Vor uns Zugriff auf das Netzwerk über den Hafen zu erreichen, ist in den Docker Containerdienste tätig. Lassen Sie uns an einen Docker Containerhafen verbinden
Netzwerk-Port Mapping
Wir haben eine Python-Anwendung Container.
w3big@w3big:~$ docker run -d -P training/webapp python app.py fce072cc88cee71b1cdceb57c2821d054a4a59f67da6b416fceb5593f059fc6d
Darüber hinaus können wir die Netzwerkadresse Bindungs Behälter, wie Bindungs 127.0.0.1 angeben.
Wir verwenden den Parameter -P einen Container zu erstellen, verwenden Sie Docker ps Port 5000 gebunden ist , eine Host - Port 32768 zu sehen.
w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fce072cc88ce training/webapp "python app.py" 4 minutes ago Up 4 minutes 0.0.0.0:32768->5000/tcp grave_hopper
Wir können auch die Option -p verwenden die Container Port angeben , an den Host - Port gebunden ist.
Ist der Unterschied zwischen den zwei Arten:
- -P: Ist an der Innenseite des Containerhafens zufällig hohen Port auf dem Host abgebildet.
- -p: in der Containerhafen wird an den angegebenen Host - Port gebunden.
w3big@w3big:~$ docker run -d -p 5000:5000 training/webapp python app.py 33e4523d30aaf0258915c368e66e03b49535de0ef20317d3f639d40222ba6bc0
w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 33e4523d30aa training/webapp "python app.py" About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 8 minutes ago Up 8 minutes 0.0.0.0:32768->5000/tcp grave_hopper
Darüber hinaus können wir die Netzwerkadresse Bindungs Behälter, wie Bindungs 127.0.0.1 angeben.
w3big@w3big:~$ docker run -d -p 127.0.0.1:5001:5002 training/webapp python app.py 95c6ceef88ca3e71eaf303c2833fd6701d8d1b2572b5613b5a932dfdfe8a857c w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 95c6ceef88ca training/webapp "python app.py" 6 seconds ago Up 6 seconds 5000/tcp, 127.0.0.1:5001->5002/tcp adoring_stonebraker 33e4523d30aa training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 10 minutes ago Up 10 minutes 0.0.0.0:32768->5000/tcp grave_hopper
So dass wir den Behälter durch die Zugangsöffnung 127.0.0.1:5001 5002 zugreifen kann.
Das obige Beispiel ist der Standard - TCP - Port zu binden, wenn Sie UPD - Ports binden möchten, einen Port auf der Rückseite plus / udp.
w3big@w3big:~$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py 6779686f06f6204579c1d655dd8b2b31e8e809b245a97b2d3a8e35abe9dcd22a w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6779686f06f6 training/webapp "python app.py" 4 seconds ago Up 2 seconds 5000/tcp, 127.0.0.1:5000->5000/udp drunk_visvesvaraya 95c6ceef88ca training/webapp "python app.py" 2 minutes ago Up 2 minutes 5000/tcp, 127.0.0.1:5001->5002/tcp adoring_stonebraker 33e4523d30aa training/webapp "python app.py" 5 minutes ago Up 5 minutes 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 12 minutes ago Up 12 minutes 0.0.0.0:32768->5000/tcp grave_hopper
Docker Port - Befehl ermöglicht es uns, schnell und einfach die Portbindungsinformationen anzeigen.
w3big@w3big:~$ docker port adoring_stonebraker 5002 127.0.0.1:5001
Docker Behälteranschluss
Port-Mapping ist nicht der einzige Weg zu einem anderen Docker Behälter zu verbinden.
Docker hat ein Verbindungssystem zusammen mehrere Container ermöglicht, die Verbindungsinformationen zu teilen.
Docker Verbindung wird ein Eltern-Kind-Beziehung, den Container Eltern schaffen, in dem Sie die Informationen des Unterbehälters zu sehen.
Namenscontainer
Wenn wir einen Behälter der Zeit schaffen, Dockarbeiter es wird automatisch benannt werden. Darüber hinaus können wir die --name benutzen auch den Namenscontainer zu identifizieren, zum Beispiel:
w3big@w3big:~$ docker run -d -P --name w3big training/webapp python app.py 43780a6eabaaf14e590b6e849235c75f3012995403f97749775e38436db9a441
Wir können den Namen des Containers sehen einen Docker ps - Befehl.
w3big@w3big:~$ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 43780a6eabaa training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:32769->5000/tcp w3big