当前位置: 首页> 汽车> 时评 > 老版51个人空间找照片_开发网站的经济可行性_360搜索引擎的特点_抖音推广合作方式

老版51个人空间找照片_开发网站的经济可行性_360搜索引擎的特点_抖音推广合作方式

时间:2025/7/13 10:25:31来源:https://blog.csdn.net/m0_66011019/article/details/145970723 浏览次数: 0次
老版51个人空间找照片_开发网站的经济可行性_360搜索引擎的特点_抖音推广合作方式

docker的镜像是令人称道的地方,但网络功能还是相对薄弱的部分

docker安装后会自动创建3种网络:bridge、host、none

docker原生bridge网路

docker安装时会创建一个名为 docker0 的Linux bridge,新建的容器会自动桥接到这个接口

docker安装时会创建一个名为 docker0 的Linux bridge,新建的容器会自动桥接到这个接口

  • bridge模式下容器没有一个公有ip,只有宿主机可以直接访问,外部主机是不可见的。

  • 容器通过宿主机的NAT规则后可以访问外网

docker原生网络host

host网络模式需要在容器创建时指定 --network=host host模式

可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少 隔离性

 docker run -it --name test  --network host busybox
#如果公用一个网络,那么所有的网络资源都是公用的,比如启动了nginx容器那么真实主机的80端口被占
用,在启动第二个nginx容器就会失败

docker 原生网络none

none模式是指禁用网络功能,只有lo接口,在容器创建时使用--network=none指定。

docker的自定义网络

docker提供了三种自定义网络驱动:

  • bridge

  • overlay

  • macvlan

bridge驱动类似默认的bridge网络模式,但增加了一些新的功能,

overlay和macvlan是用于创建跨主机网络

自定义桥接网络

[root@k8s-master ~]#  docker network create my_net1
f40b3816e3871d65cd52db8720c5912faf5a2929e56455db4f2ae0b606ae6d2f
[root@k8s-master ~]#  docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
e8c1c59371c7   bridge    bridge    local
7172dc5dc9d3   host      host      local
f40b3816e387   my_net1   bridge    local
5451367be09b   none      null      local

桥接默认是单调递增

桥接也支持自定义子网和网关 

[root@k8s-master ~]#  docker network create my_net2 --subnet 192.168.0.0/24 --gateway  192.168.0.100
aee5e62af64a74d6b4c4dcf38b01b8f94932d2d8966560c8706bed82b33d41bf
[root@k8s-master ~]#  docker network  inspect my_net2
[{"Name": "my_net2","Id": "aee5e62af64a74d6b4c4dcf38b01b8f94932d2d8966560c8706bed82b33d41bf","Created": "2025-03-02T05:23:21.965532026-05:00","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "192.168.0.0/24","Gateway": "192.168.0.100"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {},"Options": {},"Labels": {}}
]

 为什么要自定义桥接?

 docker引擎在分配ip时时根据容器启动顺序分配到,谁先启动谁用,是动态变更的

多容器互访用ip很显然不是很靠谱,那么多容器访问一般使用容器的名字访问更加稳定

docker原生网络是不支持dns解析的,自定义网络中内嵌了dns

web1:

web2:

 

 #关闭容器后重启容器,启动顺序调换
[root@docker ~]# docker stop web1 web2web1web2[root@docker ~]# docker start web2web2[root@docker ~]# docker start web1web1#我们会发容器ip颠倒

如何让不同的自定义网络互通?

[root@k8s-master ~]#  docker run -d  --name web1 --network my_net1 nginx
[root@k8s-master ~]#  docker run  -it --name test --network my_net2 busybox
[root@k8s-master ~]#  docker run  -it --name test --network my_net2 busybox
/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:C0:A8:00:01  inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)/ # ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2): 56 data bytes
#可见ping不通,接下来连接网络
[root@k8s-master ~]#  docker network connect my_net1 test
/ # ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.362 ms
64 bytes from 172.18.0.2: seq=1 ttl=64 time=0.164 ms

 

joined容器网络

Joined容器一种较为特别的网络模式,•在容器创建时使用--network=container:vm1指定。

处于这个模式下的 Docker 容器会共享一个网络栈,这样两个容器之间可以使用localhost高效快速通 信。

[root@k8s-master ~]#  docker run  -it --rm  --network container:web1 busybox[root@k8s-master ~]#  docker run  -it --rm  --network container:web1 centos:7
Unable to find image 'centos:7' locally
7: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4
Status: Downloaded newer image for centos:7
[root@7dd2aec1b01b /]#  curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

joined网络示例演示

利用容器部署phpmyadmin管理mysql

[root@k8s-master ~]# docker run -d --name mysqladmin --network my_net1 -e PMA_ARBITRARY=1 -p 80:80 phpmyadmin:latest
[root@k8s-master ~]#  docker run  -d --name mysql -e MYSQL_ROOT_PASSWORD='lee'  --network container:mysqladmin mysql:5.7

 

关键字:老版51个人空间找照片_开发网站的经济可行性_360搜索引擎的特点_抖音推广合作方式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: