1. 环境准备 编写 Vagrantfile 为

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

boxes = [

{

    :name => "docker-node1",

    :eth1 => "192.168.205.10",

    :mem => "1024",

    :cpu => "1"

  },

  {

    :name => "docker-node2",

    :eth1 => "192.168.205.11",

    :mem => "1024",

    :cpu => "1"

  }

]

Vagrant.configure(2) do |config|

    config.vm.box = "centos/7"

    boxes.each do |opts|

    config.vm.define opts[:name] do |config|

    config.vm.hostname = opts[:name]

    config.vm.provider "vmware_fusion" do |v|

      v.vmx["memsize"] = opts[:mem]

      v.vmx["numvcpus"] = opts[:cpu]

    end

    config.vm.provider "virtualbox" do |v|

      v.customize ["modifyvm", :id, "--memory", opts[:mem]]

      v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]

    end

    config.vm.network :private_network, ip: opts[:eth1]

  end

  end

  config.vm.synced_folder "./labs", "/home/vagrant/labs"

  config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

2.编写 setup.sh 为   并且创建  labs

#/bin/sh
# change registory
sudo yum install -y wget
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum makecache
sudo yum -y update
# install some tools
sudo yum install -y git vim gcc glibc-static telnet bridge-utils

# install docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh # start docker service
sudo groupadd docker
sudo usermod -aG docker vagrant
sudo systemctl start docker rm -rf get-docker.sh

3. 使用 ip a 查看 虚拟机的ip地址  然后 使用 ping ping通两台虚拟机    能 ping 通即可

  ip a

  ping  192.168.205.10

  ping  192.168.205.11

4. 基础概念

  1. 基于数据包的通行方式

  

  2. 公有 ip 和 私有 ip

    public IP : 互联网上的唯一表示,可以访问 internet

    Private IP : 不可再互联网上使用,仅供机构内部使用

    A:10.*  B:172.16.*  C:192.168.*

  3. 网络地址转换  NAT(本地访问 internet)

    访问外网的时候 通过查 NAT Translate Table

    对非私有的网络地址进行转换 转换好了之后再发送请求

  4. Ping 和 telnet 工具

    Ping(ICMP): 验证 IP的可达性 (不能百分百验证 其他情况 eg:防火墙)

      eg: ping 192.168.1.1

      eg: ping www.baidu.com

    telnet: 验证服务的可用性

      eg: telnet 192.168.1.1 5000  访问 ip 为192.168.1.1 的 5000 端口

      eg: telnet www.baidu.com 80

  5. wireshark 网络 抓包工具

    通过上方搜索框输入 ip.addr==192.168.205.10




12. docker 网络 docker network (docker 网络)的更多相关文章

  1. docker的网络-Container network interface(CNI)与Container network model(CNM)

    Overview 目前围绕着docker的网络,目前有两种比较主流的声音,docker主导的Container network model(CNM)和社区主导的Container network in ...

  2. Docker: docker network 容器网络

    容器网络命令 : docker network --help 常用的是 docker network create/ls/rm/inspect 容器网络类型,一共有以下5种 bridge–net=br ...

  3. Docker系列04—跨主机网络方案(overlay/weave)

    在前面详细讲解了几种网络模式:none,host,bridge,container.他们解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信. 跨主机网络方案包括两大类: 1,docke ...

  4. Docker容器基础入门认知-网络篇

    这篇文章中,会从 docker 中的单机中的 netns 到 veth,再到单机多个容器之间的 bridge 网络交互,最后到跨主机容器之间的 nat 和 vxlan 通信过程,让大家对 docker ...

  5. Docker的单主机容器网络

    作者:杨冬 欢迎转载,也请保留这段声明.谢谢! 出处: https://andyyoung01.github.io/ 或 http://andyyoung01.16mb.com/ 本篇文章主要探索Do ...

  6. docker(4)docker的网络,自定义网桥

    Docker 的网络 运行 ifconfig 找到 docker0 : 虚拟网卡默认网卡名称为docker0 查看docker 的网桥: 我这里默认们没有进行安装 网桥管理设备:进行安装一下: yum ...

  7. docker~yml里使用现有网络

    回到目录 我们在进行docker swarm部署高可用集群时,在yml文件里可能要配置一些服务,而这些服务可能要使用一些公用的数据库,这些数据库可能已经运行在某个容器里,而这些容器有自己的网络,doc ...

  8. [docker]docker自带的overlay网络实战

    overlay网络实战 n3启动consul docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -b ...

  9. docker之容器访问和网络连接(三)

    前言 当一台服务器上部署了多个应用容器,它们直接可能需要相互通信,比如web应用容器需要访问mysql数据库容器. 主机访问容器 通过映射端口的形式我们可以在外部访问容器内的服务 # 将主机的127. ...

随机推荐

  1. springMVC:SSM整合

    环境要求 环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识: 数 ...

  2. schema 文件约束

    1. 在javaproject 中创建一个.xsd 文件 <?xml version="1.0" encoding="UTF-8" ?> <! ...

  3. cf 187B.AlgoRace

    floyd...太神奇了(不会floyd(大雾)) 貌似floyd的外层k是保证最短路从起点逐渐向外扩展(而不是乱搞233) 所以在处理f[i][j]=min(f[i][j],f[i][k]+f[k] ...

  4. ssm搭建,maven,javaConfig

    基于java配置SSM,eclipse 新建maven,web项目 .... 项目结构: jar包 pom.xml spring和DispatcherServlet上下文,相当于web.xml pub ...

  5. 吴裕雄--天生自然C++语言学习笔记:C++ 变量作用域

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量. 在函数参数的定义中声明的变量,称为形式参数. 在所有函数外部声明的变量,称为全局变量. 局部 ...

  6. C#高级编程(第9版) 第08章 委托、lambda表达式和事件 笔记

          本章代码分为以下几个主要的示例文件: 1. 简单委托 2. 冒泡排序 3. lambda表达式 4. 事件示例 5. 弱事件     引用方法 委托是寻址方法的.NET版本.在C++中函数 ...

  7. 深入理解C指针<一>

    指针和内存 C程序在编译后,会以三种形式使用内存: 静态.全局内存:静态变量和全局变量使用这部分内存,生存周期为整个程序运行时,全局变量所有函数都可以访问,但静态变量虽然生存周期为整个程序运行时,但作 ...

  8. vue中的axios请求

    1.get请求 // get this.$axios.get('请求路径') .then(function (response) { console.log(response); // 成功 }) . ...

  9. MyBatis:使用注解开发

    面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大 ...

  10. 面向对象变成(OOP)-创建类和使用类

    1.1.1对象的抽象:抽象是一种归纳或总结,对象是现实世界物体特征的实例. (1)一切皆是对象. (2)类是对象的抽象. 1.1.2 对象的使用: 当对象被抽象为类以后,就可以创建具体的实例来操作了. ...