Docker网络上篇-网络介绍
2022/12/29 4:24:09
本文主要是介绍Docker网络上篇-网络介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
通过前面的学习,我们已经可以把自己写的微服务项目通过dockerfile文件方式部署到docker上面了。那么微服务之间通信,怎么通信的?是在同一个网络还是在不同的网络环境下?docker中怎么配置网络环境呢?本文咱们就一起学学docker网络。
docker网络是什么?
在不启动docker之前,我们来看看宿主机的网络情况。使用命令:ifconfig
说明:
ens33:是宿主机的ip.比如我们想通过我们物理机Windows连接到虚拟机宿主机的话,就是用的是这个ip.
lo:local,本地地址。
virbro:centos在虚拟化的时候,会安装一个以网桥连接的私网地址。默认就是192.168.122.1。是做虚拟机网桥使用的。
启动docker后,在查看宿主机网络情况.命令依然是ifconfig
我们发现会多出一个 docker0的网卡。这个就是本章节需要讲解的。
Docker网络常用的命令:
使用命令查看:
docker network ls
bridge、host、none是默认创建的3大网络模式。
我们先来help下,看看docker network都有哪些命令
命令:
查看命令:
docker网络能干嘛?
网络模式
docker网络有以下几种模式:
其中比较常用的是bridge和host模式。
docker 网络底层ip和容器映射关系
先启动两个ubuntu
查看网络情况:
docker inspect u1
或者只查看倒数20行
docker inspect ul | tail -n 20
我们再来看看u2的网络设置
假设我们把uw rm -f
然后我们在启动一个u3
再来看看U3的ip:
哇哦!ip是0.3。我们发现这个时候u3的ip竟然复用了u2的ip.这是多么可怕。
比如,在实际中,u2上面安装的是mysql.u2宕机后,创建了u3,向redis集群使用。但是,项目中写的ip还是172.17.0.3来连接数据库。那么u3启动后,是redis服务。程序连接MySQL也来找0.3。是不是很可怕。所以,在服务中,写死ip的需要注意。
所以,在实际中,我们在规划服务的时候,ip应该写死的。
那么怎么处理呢?我们会用到
docker network create 网络名称
我们创建指定的网络名称。然后设置ip.其他同一类的都可以使用这个网络名称(网络范围内)。通过网络服务来连接。
这篇关于Docker网络上篇-网络介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程