Docker : Docker नेटवर्क आधार2023/09/04 |
यह Docker नेटवर्क को कॉन्फ़िगर करने का मूल उपयोग है।
|
|
[1] | नेटवर्क निर्दिष्ट किए बिना कंटेनर चलाते समय, डिफ़ॉल्ट [bridge] नेटवर्क असाइन किया जाता है। |
# नेटवर्क सूची प्रदर्शित करें root@dlp:~# docker network ls NETWORK ID NAME DRIVER SCOPE c6827e510929 bridge bridge local 0a92932bfe22 host host local ee71731d3229 none null local 0e12d0d715f2 root_default bridge local # [bridge] का विवरण प्रदर्शित करें root@dlp:~# docker network inspect bridge [ { "Name": "bridge", "Id": "c6827e510929a2c9cd6c3ca8337488607a4055f01e8ac18ea067baf8ae1ce88f", "Created": "2022-09-08T01:31:28.575826114Z", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16", "Gateway": "172.17.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": { "com.docker.network.bridge.default_bridge": "true", "com.docker.network.bridge.enable_icc": "true", "com.docker.network.bridge.enable_ip_masquerade": "true", "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", "com.docker.network.bridge.name": "docker0", "com.docker.network.driver.mtu": "1500" }, "Labels": {} } ] # [bridge] को डिफ़ॉल्ट रूप से कंटेनर नेटवर्क के रूप में असाइन किया गया है root@dlp:~# docker run ubuntu /bin/bash -c "apt-get update; apt-get -y install iproute2; /usr/sbin/ip route" ..... ..... default via 172.17.0.1 dev eth0 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2root@dlp:~# docker ps -a | head -2 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1c4d8a95eade ubuntu "/bin/bash -c 'apt-g…" About a minute ago Exited (0) About a minute ago stoic_coldenroot@dlp:~# docker commit 1c4d8a95eade srv.world/ubuntu-iproute |
[2] | यदि आप कोई अन्य नेटवर्क असाइन करना चाहते हैं, तो निम्नानुसार सेट करें। |
# [192.168.100.0/24] सबनेट के साथ [network01] नेटवर्क बनाएं root@dlp:~# docker network create --subnet 192.168.100.0/24 network01 b1c995fda78a54c2ff2bb0ec441fd5a992d2bc3b370a3b61a82233eb06cc4252root@dlp:~# docker network ls NETWORK ID NAME DRIVER SCOPE c6827e510929 bridge bridge local 0a92932bfe22 host host local b1c995fda78a network01 bridge local ee71731d3229 none null local 0e12d0d715f2 root_default bridge local # [network01] निर्दिष्ट करके एक कंटेनर चलाएँ root@dlp:~# docker run --net network01 srv.world/ubuntu-iproute /usr/sbin/ip route default via 192.168.100.1 dev eth0 192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.2 # नेटवर्क को मौजूदा चल रहे कंटेनर से जोड़ने के लिए, निम्नानुसार सेट करें root@dlp:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 679b88eb61d1 srv.world/ubuntu-nginx "/usr/sbin/nginx -g …" 3 seconds ago Up 2 seconds 0.0.0.0:8081->80/tcp, :::8081->80/tcp dazzling_mayerroot@dlp:~# docker exec 679b88eb61d1 /usr/sbin/ip route default via 172.17.0.1 dev eth0 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2 # सबनेट में आईपी पता निर्दिष्ट करने के लिए नेटवर्क संलग्न करें root@dlp:~# docker network connect --ip 192.168.100.10 network01 679b88eb61d1
docker exec 679b88eb61d1 /usr/sbin/ip route default via 172.17.0.1 dev eth0 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2 192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 # नेटवर्क को डिस्कनेक्ट करने के लिए, निम्नानुसार सेट करें root@dlp:~# docker network disconnect network01 679b88eb61d1 root@dlp:~# docker exec 679b88eb61d1 /usr/sbin/ip route default via 172.17.0.1 dev eth0 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2 |
[3] | डॉकर नेटवर्क को हटाने के लिए, निम्नानुसार सेट करें। |
root@dlp:~# docker network ls NETWORK ID NAME DRIVER SCOPE c6827e510929 bridge bridge local 0a92932bfe22 host host local b1c995fda78a network01 bridge local ee71731d3229 none null local 0e12d0d715f2 root_default bridge local # [network01] हटाएं root@dlp:~# docker network rm network01 network01 # उन नेटवर्कों को हटा दें जिनका कंटेनर बिल्कुल भी उपयोग नहीं करते हैं root@dlp:~# docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
root_default
|
[4] | होस्ट नेटवर्क से कनेक्ट करने के लिए, निम्नानुसार सेट करें। |
root@dlp:~# docker network ls NETWORK ID NAME DRIVER SCOPE c6827e510929 bridge bridge local 0a92932bfe22 host host local ee71731d3229 none null localroot@dlp:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/ubuntu-iproute latest ddf1e2b3acd2 6 minutes ago 119MB srv.world/ubuntu-apache2 latest b7891f747bd5 18 hours ago 227MB srv.world/ubuntu-nginx latest 51f5190bb9d9 18 hours ago 170MB dlp.srv.world:5000/ubuntu my-registry 2dc39ba059dc 6 days ago 77.8MB ubuntu latest 2dc39ba059dc 6 days ago 77.8MB # [host] नेटवर्क के साथ एक कंटेनर चलाएँ root@dlp:~# docker run -d --net host srv.world/ubuntu-apache2 57c36cdc7633310526f549ea3040ecb388c201a9313436580ae83684ebe67058root@dlp:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 57c36cdc7633 srv.world/ubuntu-apache2 "/usr/sbin/apachectl…" 50 seconds ago Up 49 seconds sad_vaughan # कंटेनर पर पोर्ट [apache2] सेवा सुनने का उपयोग होस्ट नेटवर्क पर किया जाता है root@dlp:~# ss -napt State Recv-Q Send-Q Local Address:Port Peer Address:Port ..... ..... LISTEN 0 511 *:80 *:* users:(("apache2",pid=2959,fd=4),("apache2",pid=2958,fd=4),("apache2",pid=2957,fd=4))root@dlp:~# curl localhost index.html on Aapche2 |
Sponsored Link |