Docker05_Docker默认网络原理、网络模式、自定义网络(二)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: ②. 网络模式③. 外部是如何访问tomcat或者redis的?

②. 网络模式


微信图片_20220107122308.png


③. 外部是如何访问tomcat或者redis的?


①. 使用(宿主机的ip:端口号)进行访问tomcat或者redis的时候,会根据启动容器的-p映射端口原则,找到对应的映射端口,通过 iptables -nL去查看容器内的端口对应的ip,通过这个ip就可以访问到docker中的容器(tomcat/ redis)


微信图片_20220107122329.png


②. 默认、域名访问不通


[root@i-id8g0yu9 ~]# docker run -d --name mytomcat tomcat:jre8-alpine
2e4107a77847a3b1805b5010fe46bfd14c02b0389a6bc5c84f897547ad5c0f2d
[root@i-id8g0yu9 ~]# docker exec -it mytomcat /bin/bash
bash-4.4# ping myredis
ping: bad address 'myredis'
bash-4.4# 


③. 容器之间互相ping通(–link), docker run -d -P --name=mytomcat1 --link=myredis tomcat:jre8-alpine;这种方式启动的时候,会查询–link的容器的ip并写死到当前容器的/etc/hosts下面;而是单向的,对方并不知道我的存在,问题: myredis ip地址变了不会更新(解决方案:使用自定义网络)


[root@i-id8g0yu9 ~]# docker run -d  --name=mytomcat1 --link=myredis tomcat:jre8-alpine
0c5e60a75d031ef3b627eb0b794694e85c15c55cffee612597d356a3c1bf1f07
[root@i-id8g0yu9 ~]# docker exec -it  mytomcat1 /bin/bash
bash-4.4# ping myredis
PING myredis (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.180 ms
64 bytes from 172.17.0.2: seq=1 ttl=64 time=0.123 ms
64 bytes from 172.17.0.2: seq=2 ttl=64 time=0.120 ms
^C
--- myredis ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.120/0.141/0.180 ms
bash-4.4# cat /etc/hosts  
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  myredis 4982a68fda73(容器id)
172.17.0.3  0c5e60a75d03(容器id)
[root@i-id8g0yu9 ~]# docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS              PORTS      NAMES
0c5e60a75d03   tomcat:jre8-alpine   "catalina.sh run"        2 minutes ago    Up About a minute   8080/tcp   mytomcat1
4982a68fda73   redis                "docker-entrypoint.s…"   25 minutes ago   Up 25 minutes       6379/tcp   myredis


相关文章
|
28天前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
1月前
|
JavaScript
Vue中Axios网络请求封装-企业最常用封装模式
本教程介绍如何安装并配置 Axios 实例,包含请求与响应拦截器,实现自动携带 Token、错误提示及登录状态管理,适用于 Vue 项目。
75 1
|
28天前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
1月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
305 11
|
1月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
252 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
1月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
298 0
|
Kubernetes 应用服务中间件 Docker
Docker——自定义网络实现
Docker——自定义网络实现
650 0
|
安全 NoSQL Redis
Docker自定义网络
Docker自定义网络
152 11
|
Docker 容器
docker中创建自定义网络
【10月更文挑战第7天】
461 6
|
Docker 容器
docker中自定义网络
【10月更文挑战第5天】
209 3

热门文章

最新文章