Docker网络的学习

简介: 这章主要是对docker网络进行一个基本的学习,这也是一个很重要的知识点

Docker网络

理解Docker

清空所有环境

docker是如何处理容器网络访问的?

#查看容器的内部网络地址  ip addr

docker exec -it  tomcat01 ip addr

原理

1、我们每启动一个docker容器,docker就会给docker容器分配一个ip。我们只要安装了docker,就会有一个网卡docker0,桥接模式,使用的技术是evth-pair技术

#容器带来的网卡,都是一对一对的
#evth-pair 就是一对的虚拟设备接口,他们都是成对出现的,一端连接协议,一端彼此相连
#正因为有这个特性,evth-pair充当一个桥梁,连接各种虚拟网络设备
#容器之间也是可以互相ping通的

--link

我们编写了一个微服务,database URL = ip,项目不重启,数据库ip换掉了,我们希望可以处理这个问题,可以使用名字来访问这个容器。

#docker exec -it tomcat02 ping tomcat01          ping不通

#通过--link 可以解决网络联通问题
#docker run -d -P --name tomcat03 --link tomcat02  tomcat

#docker exec -it tomcat03 ping tomcat02          可以ping通

自定义网络

#查看所有的docker网络
docker network ls

网络模式

bridge:桥接docker

测试

#我们直接启动命令 --net bridge,而这个就是我们的docker0
docker run -d -P --name tomcat01 tomcat
docker run -d —P --name tomcat01 --net bridge tomcat

#docker特点,默认域名不能访问,--link可以打通连接

#我们可以自定义一个网络!
#--driver bridge
#--subnet 192.168.0.0/16
#--gateway 192.168.0.1
docker network create --driver  bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

#oot@ji-VirtualBox:~# docker network create --driver  bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

39613d7e1aa93c20b52759d0f1cfe3277ca1de10cda41825430f78362d433eaa

root@ji-VirtualBox:~# docker network inspect mynet

[
 {
        "Name": "mynet",

        "Id": "39613d7e1aa93c20b52759d0f1cfe3277ca1de10cda41825430f78362d433eaa",

        "Created": "2023-08-30T16:48:49.435201961+08:00",

        "Scope": "local",

        "Driver": "bridge",

        "EnableIPv6": false,

        "IPAM": {

            "Driver": "default",

            "Options": {},

            "Config": [

                {

                    "Subnet": "192.168.0.0/16",

                    "Gateway": "192.168.0.1"

                }

            ]

        },

#在自定义网络下创建容器
docker run -d -P --name tomcat-net-01 --net mynet tomcat     #在tomcat镜像和自定义的网络下创建tomcat-net-01容器

网络连通

image.png

image.png

#测试 打通 可以将一个容器的网络直接放入mynet我网络之下
docker network connect mynet tomcat01

#一个容器两个ip地址
相关文章
|
3天前
|
缓存 网络协议 网络架构
Docker 网络 IP 地址冲突,就该这么处理!
Docker 网络 IP 地址冲突,就该这么处理!
|
23天前
|
容器 Docker 存储
|
2天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
10 1
|
28天前
|
JSON 数据格式 Docker
Docker 网络命令大全,建议收藏!
【7月更文挑战第22天】
66 7
Docker 网络命令大全,建议收藏!
|
9天前
|
监控 安全 虚拟化
Docker技术概论(5):Docker网络
Docker技术概论(5):Docker网络
45 6
|
4天前
|
网络协议
详解VXLAN网络中报文是如何转发的?值得收藏学习!
详解VXLAN网络中报文是如何转发的?值得收藏学习!
详解VXLAN网络中报文是如何转发的?值得收藏学习!
|
18天前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络不再是黑魔法!Python带你一步步拆解,让AI学习看得见
【8月更文挑战第3天】神经网络,曾被视为难以触及的黑魔法,现已在Python的助力下变得平易近人。以TensorFlow或PyTorch为“魔法杖”,仅需几行Python代码即可构建强大的AI模型。从零开始,我们将教导AI识别手写数字,利用经典的MNIST数据集。通过数据加载、预处理至模型训练与评估,每个步骤都如精心编排的舞蹈般清晰可见。随着训练深入,AI逐渐学会辨认每个数字,其学习过程直观展现。这不仅揭示了神经网络的奥秘,更证明了任何人都能借助Python创造AI奇迹,共同探索未来的无限可能。
24 2
|
17天前
|
机器学习/深度学习 算法 网络架构
神经网络架构殊途同归?ICML 2024论文:模型不同,但学习内容相同
【8月更文挑战第3天】《神经语言模型的缩放定律》由OpenAI研究人员完成并在ICML 2024发表。研究揭示了模型性能与大小、数据集及计算资源间的幂律关系,表明增大任一资源均可预测地提升性能。此外,论文指出模型宽度与深度对性能影响较小,较大模型在更多数据上训练能更好泛化,且能高效利用计算资源。研究提供了训练策略建议,对于神经语言模型优化意义重大,但也存在局限性,需进一步探索。论文链接:[https://arxiv.org/abs/2001.08361]。
18 1
|
1天前
|
Docker 容器
在Docker中,网络模式有哪些?
在Docker中,网络模式有哪些?
|
1天前
|
Kubernetes 应用服务中间件 Docker
在K8S中,Pod网络访问与Docker容器端口映射有何不同?
在K8S中,Pod网络访问与Docker容器端口映射有何不同?

热门文章

最新文章