四種網(wǎng)絡(luò)類型:
- None:不為容器配置任何網(wǎng)絡(luò)功能,--net=none
- Container:與另一個運行中的容器共享Network Namespace,--net=container:containerID(K8S)
- Host:與宿主機共享Network Namespace,--net=host
- Bridge:Docker設(shè)計的NAT網(wǎng)絡(luò)模型
下面分別講解下:
none:
[root@docker1 centos_zabbix]# docker run -it --network none centos6.9_ssh:v2 /bin/bash
[root@6ae597015723 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> 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類型的網(wǎng)絡(luò):
[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
這種就是和宿主機共用端口,誰先占誰用,但是性能最高,所以我們在構(gòu)建鏡像的時候使用了這個參數(shù),就是為了統(tǒng)一網(wǎng)絡(luò)類型,提高構(gòu)建鏡像的效率
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。