广告
返回顶部
首页 > 资讯 > 服务器 >Docker link实现容器互联的方式
  • 487
分享到

Docker link实现容器互联的方式

2024-04-02 19:04:59 487人浏览 安东尼
摘要

目录1.1、容器间通过IP进行网络访问1.2、容器间通过容器名或容器id进行网络访问1.1、容器间通过IP进行网络访问 新建两个容器Tomcat01和tomcat02 Docke

1.1、容器间通过IP进行网络访问

新建两个容器Tomcat01和tomcat02


Docker run -d -P --name tomcat01 tomcat
docker run -d -P --name tomcat02 tomcat

在这里插入图片描述

使用 ifconfig 命令查看toncat01的网卡信息:

在这里插入图片描述

可以看到,tomcat01的IP地址为 172.17.0.2

再查看toncat02的网卡信息:

在这里插入图片描述

可以看到,tomcat02的IP地址为 172.17.03

测试容器tomcat01和tomcat02是否能ping通:

tomcat01 ping tomcat02:

在这里插入图片描述

tomcat02 ping tomcat01:

在这里插入图片描述

根据上面两张图所示,不管是tomcat01 ping tomcat02还是tomcat02 ping tomcat01都是可以ping通的。

注:如果容器内没有ifconfig命令和ping命令,依次执行以下命令:


apt-get update
apt install iputils-ping
apt install net-tools

1.2、容器间通过容器名或容器id进行网络访问

容器间如果想通过容器名进行网络连接,需要使用 docker run --link 来链接两个容器。

–link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量。

–link 的格式

--link <name or id>:alias

–link 添加到另一个容器的链接

name和id是源容器的name和id,alias是源容器在link下的别名。

–link 的使用实例

创建容器tomcat03,让tomcat03作为接收容器(主动去链接的容器),上面的tomcat01(别名t1)作为源容器(被链接的容器),两个容器进行链接:


docker run -d -P --name tomcat03 --link tomcat01:t1 tomcat

tomcat01 是上面启动的 7b94f50c43ea 容器的名字,这里作为源容器,t1 是该容器在link下的别名(alias),通俗易懂的讲,站在tomcat03容器的角度,tomcat01 和 t1 都是 7b94f50c43ea 容器的名字,并且作为容器的hostname,tomcat03 用这2个名字中的哪一个都可以访问到 7b94f50c43ea 容器并与之通信(docker通过DNS自动解析)。

进行链接测试:tomcat03 ping tomcat01

ping tomcat01

在这里插入图片描述

ping t1

在这里插入图片描述

两个都能ping通,可见,tomcat01 和 t1 都指向172.17.0.2。

但上面这种链接只是单向的,就是只能接收容器链接源容器,源容器不能链接到接收容器,也就是 tomcat03 链接上了 tomcat01,tomcat03能ping通tomcat01,tomcat01并没有链接上tomcat03,tomcat01ping不同tomcat03。但是不影响tomcat01 通过IP ping tomcat03 或者tomcat03 ping tomcat01。

–link 原理

查看 tomcat03 的 hosts 文件,操作系统规定,在进行DNS请求以前,先检查系自己的hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。


docker exec -it tomcat03 cat /etc/hosts

在这里插入图片描述

在tomcat03的hosts配置文件中,可以看到映射了tomcat01的IP、容器名、别名和容器id,所有tomcat03可以通过指定的容器名和tomcat01进行通信。

–link 就是在接收容器(这里是名为tomcat003的容器)添加了一条关于tomcat01容器的名称解析。有了这个名称解析后就可以不使用ip来和源容器通信了,除此之外当源容器重启,docker会负责更新/etc/hosts文件,因此可以不用担心容器重启后IP地址发生了改变,解析无法生效的问题。

到此这篇关于Docker link实现容器互联的文章就介绍到这了,更多相关docker 容器互联内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Docker link实现容器互联的方式

本文链接: https://www.lsjlt.com/news/161155.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker link实现容器互联的方式
    目录1.1、容器间通过IP进行网络访问1.2、容器间通过容器名或容器id进行网络访问1.1、容器间通过IP进行网络访问 新建两个容器tomcat01和tomcat02 docke...
    99+
    2022-11-12
  • docker--link容器互联的实现
    目录容器互联实验:tomcat连接mysql创建启动mysql容器创建启动tomcat容器 --link连接mysql容器–link可以通过容器名互相通信,容器间共享环境...
    99+
    2022-11-13
  • docker link容器互联如何实现
    这篇“docker link容器互联如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker link容器互联如何...
    99+
    2023-06-29
  • Docker link如何实现容器互联
    小编给大家分享一下Docker link如何实现容器互联,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1、容器间通过IP进行网络访问新建两个容器tomcat0...
    99+
    2023-06-22
  • Docker容器互联互通的实现方法
    目录网络集群查看mynet网络查看centos01的容器信息test-network网卡下的centos01访问mynet网卡下的mynet-centos01、mynet-tomca...
    99+
    2022-11-13
    Docker 容器互联 Docker 容器联通
  • docker容器互联的方式有哪些
    Docker容器互联的方式有以下几种: 使用Docker Compose:Docker Compose是一个用于定义和运行多个D...
    99+
    2023-10-22
    docker
  • Docker不同网段下的容器互联的实现
    前言: 在实际开发里我们可能会创建不同的集群,例如redis集群和mysql集群,而为了集群的安全和健康的,我们创建集群的时候给集群分配的网段是不同的,但这时候我们希望两个不在同一个...
    99+
    2023-01-04
    Docker不同网段容器互联 Docker 容器互联
  • Docker容器互访三种方式
    docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢。下面介绍三种方法来解决容器互访问题,分别是:虚拟ip访问 link 创建bridge网络 本文以一台centos 7.6服务器来演示。 ...
    99+
    2023-01-31
    三种 容器 方式
  • docker实现跨宿主机的容器之间网络互联
    目录一. 环境介绍二. docker跨主机互联实现说明三. 修改docker0网桥网段3.1 A宿主机10.1.10.1133.2 B宿主机10.1.10.114背景:最近闲来无事,...
    99+
    2023-01-04
    docker 跨宿主机互联 Docker跨宿主机
  • Docker端口映射与容器互联的方法是什么
    这篇文章主要讲解了“Docker端口映射与容器互联的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker端口映射与容器互联的方法是什么”吧!新建立了一个mydocker的容器...
    99+
    2023-06-04
  • docker overlay实现跨主机的容器互通的方法
    目录1. docker配置2. 创建注册中心与网络3. 启动容器环境说明 ...
    99+
    2022-11-12
  • docker-compose容器互相连接的实现
    一些示例未整理 haproxy 与nginx 容器连接 ## 服务的compose 编写 mkdir /mnt/compose vim docker-compose.yml web1...
    99+
    2022-11-13
  • docker两个容器互通怎么实现
    要实现两个 Docker 容器之间的互通,可以通过以下几种方式: 使用网络方式:在创建容器时,可以指定它们使用相同的网络。比如可...
    99+
    2023-10-22
    docker
  • docker compose容器互相连接的方法
    这篇文章主要介绍了docker compose容器互相连接的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose容器互相连接的方法文章都会有所收获,下面我们一起来看看吧。haproxy...
    99+
    2023-06-29
  • docker修改容器内存大小的实现方式
    目录前言1.docker内存限制的两种方式2.方式一:-m参数限制3.方式二:修改hostconfig.json文件限制1.查找容器对应的hostconfig.json文件2.停止d...
    99+
    2022-11-13
  • Docker跨主机容器间相互访问的实现
    第一步:创建自定义网络 docker network create --subnet=172.18.0.0/24 docker-br0 备注:这里选取了172.18.0.0网段,也可...
    99+
    2023-01-04
    Docker 跨主机访问 Docker 容器相互访问
  • docker容器使用GPU方法实现
    目录1、无nvidia-docker2、nvidia-docker1.03、nvidia-docker2.04、安装docker-19.03及以上版本为了使docker容器可以使用n...
    99+
    2022-11-13
  • docker容器间进行数据共享的三种实现方式
    目录一、Bind Mounts方式共享数据二、Volumes方式数据共享三、Volume container(数据卷容器)方式3.1.创建数据卷容器3.2.使用数据卷容器我们本节为大...
    99+
    2022-11-13
  • docker启动容器的方式有哪些
    Docker启动容器的方式有以下几种:1. 使用`docker run`命令启动容器,例如:`docker run `。2. 使用`...
    99+
    2023-09-16
    docker
  • Docker容器之间的通信的方法实现
    情景:本地已经搭建laradock开发环境(php7.3+mysql5.7),现在想用laradock环境来运行同一个已有项目,但是该项目数据在mysql5.6的docker容器里...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作