歡迎您光臨本站 註冊首頁

Docker四種網絡類型原理實例解析

←手機掃碼閱讀     kyec555 @ 2020-06-01 , reply:0

四種網絡類型:

  • None:不為容器配置任何網絡功能,--net=none

  • Container:與另一個運行中的容器共享Network Namespace,--net=container:containerID(K8S)

  • Host:與宿主機共享Network Namespace,--net=host

  • Bridge:Docker設計的NAT網絡模型

下面分別講解下:

none:

 [root@docker1 centos_zabbix]# docker run -it --network none centos6.9_ssh:v2 /bin/bash [root@6ae597015723 /]# ip addr 1: lo:mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever


  這種沒有ip,可以在容器裡隨便玩,沒有多大意義

container類型的網絡:

 [root@1c21de6080bb html]# [root@docker1 centos_zabbix]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1c21de6080bb centos6.9_nginx_ssh:v3 "/bin/bash" 26 seconds ago Up 25 seconds vigorous_payne [root@docker1 centos_zabbix]# docker run -it --network container:1c21de6080bb centos6.9_nginx_ssh:v4 /bin/bash 共用了主機名的ip地址 可以查看屬性 [root@docker1 centos_zabbix]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 41c457f6b89d centos6.9_nginx_ssh:v4 "/bin/bash" 5 minutes ago Up 5 minutes loving_curie 1c21de6080bb centos6.9_nginx_ssh:v3 "/bin/bash" 6 minutes ago Up 6 minutes vigorous_payne [root@docker1 centos_zabbix]# docker inspect 41c457f6b89d|grep -i network "NetworkMode": "container:1c21de6080bb8c83e800fa8b5fb15782a18bb61ab292050ca1172fbb866b1afc", "NetworkSettings": { "Networks": {}


 要注意的是這種公用container類型的端口是誰先用某個端口,誰就佔了,後來的沒法使用這個端口

host類型

[root@docker1 centos_zabbix]# docker run -it --network=host centos6.9_nginx_ssh:v2 /bin/bash

  這種就是和宿主機共用端口,誰先佔誰用,但是性能最高,所以我們在構建鏡像的時候使用了這個參數,就是為了統一網絡類型,提高構建鏡像的效率


[kyec555 ] Docker四種網絡類型原理實例解析已經有442次圍觀

http://coctec.com/docs/docker/show-post-236531.html