docker学习:容器互联-link

2023-11-10

我现在弄两个tomcat,分别是tomcat01,tomcat02,端口随机。

#随机端口-P 大写的P,小写的p要添加端口映射的

docker run -d -P --name tomcat02 tomcat

在这里插入图片描述

我们想尝试直接通过名字来连接链接两个容器

#直接通过类似管道命令的形式,进入容器交互模式ping另一个容器,通过容器名

 docker exec -it tomcat02 ping tomcat01
 
#结果是ping不通的

# 如何可以解决呢?
# 通过--link既可以解决网络连通问题
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker run -d -P  --name tomcat03 --link tomcat02 tomcat
3a2bcaba804c5980d94d168457c436fbd139820be2ee77246888f1744e6bb473
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
3a2bcaba804c        tomcat              "catalina.sh run"   4 seconds ago       Up 3 seconds        0.0.0.0:32772->8080/tcp   tomcat03
f22ed47ed1be        tomcat              "catalina.sh run"   57 minutes ago      Up 57 minutes       0.0.0.0:32771->8080/tcp   tomcat02
9d97f93401a0        tomcat              "catalina.sh run"   About an hour ago   Up About an hour    0.0.0.0:32770->8080/tcp   tomcat01
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat03 ping tomcat02
PING tomcat02 (172.17.0.3) 56(84) bytes of data.
64 bytes from tomcat02 (172.17.0.3): icmp_seq=1 ttl=64 time=0.129 ms
64 bytes from tomcat02 (172.17.0.3): icmp_seq=2 ttl=64 time=0.100 ms
64 bytes from tomcat02 (172.17.0.3): icmp_seq=3 ttl=64 time=0.110 ms
64 bytes from tomcat02 (172.17.0.3): icmp_seq=4 ttl=64 time=0.107 ms
 
# 反向可以ping通吗?
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat02 ping tomcat03
ping: tomcat03: Name or service not known

如果你没有ping通甚至报错,可能是你这个tomcat镜像太精简了,你可以在我这个专栏找那个构建出来的tomcat作为镜像测试。

当然你也可以在你对应的tomcat镜像里面安装,但是要看镜像的删减程度,我这边根据以下命令是可以安装的。

#安装ping
apt-get update
.....
.....
apt-get install iputils-ping 
.....
.....

–link 就是我们在hosts配置中增加了一个172.17.0.3 tomcat02 f22ed47ed1be
但是呢,这种方式其实是有自己的局限性,就类似自己配host文件这个操作也不是那么灵活,而且Docker0有自己的问题:它不支持容器名链接访问,就好比你不支持域名访问,实际上最后还要自己去自定义网络来解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker学习:容器互联-link 的相关文章

随机推荐

  • Ext.ux.grid.RowEditor的bug修改

    声明 此bug针对ext 3 3 0版本 其他版本是否有此bug不清楚 1 找到文件ext 3 3 0 examples ux RowEditor js 2 定位到上述文件中的函数verifyLayout 和函数resizeColumn 3
  • 服务器声卡如何虚拟,服务器没声卡远程桌面连接怎么实现听到服务器的声音

    默认情况下 在连接到运行 Windows Server 2008 R2 Windows Server 2008 或 Windows Server 2003 的计算机时 不允许进行音频和视频播放重定向 在连接到运行 Windows 7 Win
  • Java对象判断“==”相等

    可以使用 t1 t2 来判断两个引用变量是否相等 当t1和t2都是null 或者它们都恰好引用了同一个对象 并不是实例变量恰好相等的两个不同的对象 时 是否相等的判断 t1 t2 将为true 第一个例子仅创建一个油门对象 t1和t2都引用
  • centos离线安装redis,附redis前置依赖资源包

    1 先去redis官网下载redis 这里以redis6 2为例 2 创建安装目录 mkdir usr local redis 3 上传安装包至 usr local redis 4 解压安装包 tar zxvf redis 6 2 4 ta
  • 小白YOLOv5全流程-训练+实现数字识别

    目录 一 配置 二 准备相关文件进行训练 三 使用labelImg标注图片 1 安装labellmg 2 使用 labellmg 四 划分数据集以及配置文件的修改 1 在VOCData目录下创建程序 split train val py 并
  • 1.荔枝派 zero(全志V3S)-编译及SD烧录

    上面是我创建的群聊 欢迎新朋友的加入 之前买了个荔枝派 全志的A3S芯片 折腾了两天 写一下编译和SD烧录的过程 目录 1 直接烧录镜像文件 2 uboot编译 3 kernel编译 4 rootfs编译 5 烧录 6 串口登录 1 直接烧
  • 如何解决没有指定在Windows运行或者它包含错误

    1 按快捷键win R 出现运行窗口 输入cmd 点击确定 2 出现此窗口 3 输入下列代码 for 1 in windir system32 dll do 32 exe s 1 注意空格 等待一段时间 停止后关闭窗口 重启电脑即可
  • import os总结

    转载自 https blog csdn net weixin 42427247 article details 89019940 作者 高小军 一 os path abspath path 返回path的绝对路径 eg os path ab
  • PHP 验证姓名是否正确

    PHP 中可以使用正则表达式来验证姓名的格式是否正确 下面是一个简单的例子 name 张三 pattern x 4e00 x 9fa5 2 4 u if preg match pattern name echo 姓名格式正确 else ec
  • zkeys系统生产服务器,Zkeys:低门槛、易操作的智能云管理系统

    ZKEYS系统是一个功能强大的智能化管理系统 目前国内最大的IDC业务管理系统之一 功能模块涵盖用户中心系统 财务系统 工单系统 备案系统和云服务器 服务托管器 虚拟主机等产品的弹性在线购买及及时开通 具有低门槛 易操作等特点 主要特性 1
  • 大屏数据可视化 B端UI设计后台PC网页UI设计U3D+可视化落地教程

    近年来 数据可视化是一个热度比较高的词 数据可视化大屏投放的需求也越来越多 数据可视化是指将数据以视觉形式来呈现 如图表或地图 以帮助人们了解这些数据的意义 数据可视化大屏是当前可视化领域的一项热门应用 通常可以分为信息展示类 数据分析类及
  • RuntimeError: cuda runtime error (30)问题解决

    已经不是第一次遇到这个问题 在此记录一下解决方式 虽然很暴力但是好用 应该还有其他解决方式 以后实验好用后再补充 出现该问题是因为cuda进入了休眠状态 所以程序运行出错 简单直接的解决方式是重启服务器完美解决 参考链接 https blo
  • 预测知识

    预测知识 预测模型变量重要性 可视化及论文撰写指南 目录 预测知识 预测模型变量重要性 可视化及论文撰写指南 变量重要性 模型可视化 论文撰写指南 参考资料 变量重要性 关于预测模型变量重要性 大家一定熟悉不过 但如下图所示 其展示上可有进
  • 计算机网络——网络层要点总结

    本文总结了计算机网络中网络层的相关知识 适合学习过计算机网络的人群快速复习 查找相关知识点并巩固 思维导图 基本概念 传输层 应用进程之间端到端的通信 路径设备透明 网络层 host之间的逻辑连接 虚拟 例如 路由路径 路径设备参与 网络层
  • 修改falcon的钉钉告警格式

    源码位置 open falcon falcon plus modules alarm cron builder go 调整格式 原始的SMS通知格式 几个通知方式都类似 所以就不全部列举 func BuildCommonSMSContent
  • python Matplotlib實現可視化

    Matplotlib matplotlib框架 matplotlib 的整體框架分爲三層 各層之間只能由上至下單向通信 分爲 Scripting 脚本 層 Artist 表現 層 Backend 後端 層 接下來對這三個層分別簡單的介紹一下
  • python考核试题及答案

    Python测试 总分 120 选择题 每题2分 共20分 1 下列哪个语句在Python中是非法的 B A x y z 1 B x y z 1 C x y y x D x y x x y 2 关于Python内存管理 下列说法错误的是 B
  • SARIMA时间序列模型预测城市房价数据

    SARIMA时间序列模型预测城市房价数据 数据清洗 文件中含有大量城市的房价数据 考虑到此次为学习性质的练习 为了节省数据处理的繁琐步骤 我截取了北京的2010 2021房价数据作为样例 并将价格的数据格式改为数值 去除多余的逗号 数据导入
  • 实现迷你版vue2的响应式核心原理代码

    vue2 的响应式核心原理代码 其实就只有几个模块 1 代理 Object defineProperty 2 依赖收集dep 收集所有监听页面数据的watcher实例 3 监听页面数据实例 watcher 4 观察者 Observer 实现
  • docker学习:容器互联-link

    我现在弄两个tomcat 分别是tomcat01 tomcat02 端口随机 随机端口 P 大写的P 小写的p要添加端口映射的 docker run d P name tomcat02 tomcat 我们想尝试直接通过名字来连接链接两个容器