docker互联机制实现便捷互访
何为容器互联 & 为何需要容器互联
容器的互联是一种让多个容器中应用进行快速交互的方式,它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 ip 地址。
容器互联实现示例
使用 --link 参数可以让容器之间安全进行交互;--link参数的格式--link name:alias, 其中 name 是要连接的容器名称, alias 是这个连接的别名.
首先创建一个新的容器,命名为redis,并让其处于运行状态
docker run -itd --name redis docker.io/redis:latest /bin/bash

创建一个新的 web 容器, 并将它连接到 redis 容器
docker run -d -p 8080:8080 --name web --link redis:aliasRedis docker.io/centos:latest /bin/bash
注意:建立互联关系的时候,源容器必须处于运行状态,及容器redis必须处于运行状态。
使用docker ps --no-trunc来查看容器的连接

可以看到自定义命名的容器,redis和web,redis容器的names列有redis也有web/aliasRedis;这表示web容器连接到redis容器,这允许web容器访问redis容器的信息。
docker相当于在两个互联的容器之间创建了一个虚拟通道,而且不用映射它们的端口到宿主主机上。在启动redis容器的时候并没有使用-p和-P标记,从而避免了暴露redis服务端口到外部网络上。
docker为容器公开连接信息的方式
方法一:通过添加host信息到父容器的/etc/hosts文件
下面是父容器web的hosts文件:

这里有两个hosts信息,第一个是web容器,web 容器用自己的id作为默认主机名(172.17.0.3 6b076bb7fa71),第二个是redis容器的ip、别名、容器id和主机名(172.17.0.2 aliasRedis 1e9335f91497 redis)。
用ping来测试redis(aliasRedis)容器,它会解析成172.17.0.2;用户可以连接多个子容器到父容器,比如可以连接多个web到同一个redis容器上。

方法二:更新环境变量
使用 env 命令来查看 web 容器的环境变量

docker互联机制实现便捷互访的更多相关文章
- Docker网络管理机制实例解析+创建自己Docker网络
实例解析Docker网络管理机制(bridge network,overlay network),介绍Docker默认的网络方式,并创建自己的网络桥接方式,将开发的容器添加至自己新建的网络,提高Doc ...
- Docker系列(五):Docker网络机制(上)
Linux路由机制打通网络 路由机制是效率最好的 docker128上修改Docker0的网络地址,与docker130不冲突 vi /usr/lib/systemd/system/docker.se ...
- 深入理解docker信号机制以及dumb-init的使用
一.前言 ● 容器中部署的时候往往都是直接运行二进制文件或命令,这样对于容器的作用更加直观,但是也会出现新的问题,比如子进程的资源回收.释放.托管等,处理不好,便会成为可怕的僵尸进程 ● 本文主要讨论 ...
- Docker系列(六):Docker网络机制(下)
Linux Namespace详解 namespace:是一个空间,空间里可以放进程,文件系统,账号,网络等,某个资源被放到namespace之后 别人就看不到他了. 可以看到有两个namespace ...
- Docker实战(五)之端口映射与容器互联
除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...
- docker——端口映射与容器互联
在生产环境中,单个服务往往是独立的,但是服务与服务之间往往是相互依赖的,这样对于容器来说,容器之间就需要相互访问.除了网络访问之外,docker还提供了另外两种方式来满足服务的访问. 一:允许映射容器 ...
- docker“少折腾”
1.docker镜像加速 新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json ...
- Docker-端口映射与容器互联
在使用docker过程中,通常会碰到需要多个服务组件容器共同协作的情况,这往往需要多个容器之间有能够互相访问到对方的服务除了通过网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求 ...
- 读书笔记---《Docker 技术入门与实践》---其一
一.镜像1.1.搜索 搜索所有nginx镜像 $ docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Officia ...
随机推荐
- 0级搭建类014-Red Hat Enterprise Linux 7.6 安装
RHEL 7.6 操作系统安装 这个很简单的嘛?有什么好讲的?
- 2019-2020-2 《网络对抗技术》Exp0 环境搭建-Kali Linux 的安装
2019-2020-2 20175334 环境搭建-Kali Linux 的安装 一.Kali的下载与安装 在Kali官网中下载镜像文件 打开Vmware开始创建新虚拟机 选择镜像文件 选择操作系统 ...
- LeetCode 第四题 Median of Two Sorted Arrays 二人 渣渣选手乱七八糟分析发现基本回到思路1
题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...
- 梯度下降算法&线性回归算法
**机器学习的过程说白了就是让我们编写一个函数使得costfunction最小,并且此时的参数值就是最佳参数值. 定义 假设存在一个代价函数 fun:\(J\left(\theta_{0}, \the ...
- C++-POJ3735-Training little cats[矩阵乘法][快速幂]
矩阵快速幂,主要是考构造.另外,swap总是写龊? 为什么?干脆放弃了.唉,我太难了. 思路:操作e和s都很好想,主要是g操作 我们可以额外空出一位,记为1,每次要加1,就对这个额外的1进行计算即可 ...
- burpsuite各个板块儿详细讲解
burpsuite实战指南,想要的都在这里:https://t0data.gitbooks.io/burpsuite/content/
- javaweb基础备忘
Request对象的主要方法有哪些 setAttribute(String name,Object):设置名字为name的request 的参数值 getAttribute(String name): ...
- Monkey and Banana HDU - 1069 有点像背包,又像最长上升序列
#include<iostream> #include<algorithm> #include<cstring> #include<vector> us ...
- 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command
5.23 Format NVM command - NVM Command Set Specific Format NVM命令用于低级格式化NVM媒介.这个命令被host主机使用,来变更LBA数据大小 ...
- 《Head first设计模式》学习笔记 – 迭代器模式
<Head first设计模式>学习笔记 – 迭代器模式 代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 爆炸性新闻:对象村餐厅和对象村煎饼屋合并了!真是个 ...