自定义网络

查看所有的docker网络

网络模式

[root@docker ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
a4d70d5796e4 bridge bridge local
fc2805a7d397 host host local
c680f1ffd777 none null local

bridge 桥接 docker上面搭桥(默认)

none 不配置网络

host 和宿主机共享网络

container 容器内网络连通 (用的少)

测试

docker run -P -d --name tomcat01 --net bridge tomcat

默认 --net bridge

自定义网络

[root@docker ~]# docker network create --driver bridge --subnet 192.168.0.0/16  --gateway 192.168.0.1 mynet
58aaebabf20846d0f03670a5017e3eb6609138d26e1d7a35ef61646addc1e49e
[root@docker ~]#
[root@docker ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
a4d70d5796e4 bridge bridge local
fc2805a7d397 host host local
58aaebabf208 mynet bridge local
c680f1ffd777 none null local
[root@docker ~]#

创建自定义网络 --driver 桥接 默认也是桥接

创建好网络后将容器添加到网络

[root@docker ~]# docker run -d -P --name  tomcat01 --net mynet tomcat:7.0
25515d748acd7864f575eb6929722e8ad6803c8f3af2295da3fe34a5d1b2e8ca
[root@docker ~]# docker run -d -P --name tomcat02 --net mynet tomcat:7.0
85466bf00278affdd38ea626e8ebdf634d243b766263bb1c06f7afb209fd5b65
[root@docker ~]# docker network inspect mynet

自定义的网络可以使用--link也可以ping名字

[root@docker ~]# docker exec -it tomcat01  ping 192.168.0.3
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.147 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.057 ms
^C
--- 192.168.0.3 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 0.057/0.102/0.147/0.045 ms
[root@docker ~]# docker exec -it tomcat01 ping tomcat02
PING tomcat02 (192.168.0.3) 56(84) bytes of data.
64 bytes from tomcat02.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.054 ms
64 bytes from tomcat02.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.055 ms
64 bytes from tomcat02.mynet (192.168.0.3): icmp_seq=3 ttl=64 time=0.058 ms
^C
--- tomcat02 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.054/0.055/0.058/0.008 ms

好处

redis

mysql

不同集群使用不同网络

不同网段相互ping

容器与网段打通

连接一个容器到一个网络

connect

打通tomcat01 到 mynet

docker network connect mynet tom01
docker network inspect mynet
"65fa00ce93b6efa63aee2013154999b8529517eaaace77d7438abccab2666710": {
"Name": "tom01",
"EndpointID": "35bdb8780df35a272dc9bea5db0fb49c4b6a601d960b719d82e809c3586cc5ab",
"MacAddress": "02:42:c0:a8:00:04",
"IPv4Address": "192.168.0.4/16",
"IPv6Address": ""

可以看到tom01已经在mynet下

一个容器两个ip

docker 网络互通的更多相关文章

  1. 宿主机网络中其它机器与Docker容器网络互通配置

    前言 目前项目采用微服务架构进行开发,Nacos和其它服务部署到Docker中,Docker中容器采用的网络默认是桥接模式(Bridge),默认的子网码是172.17.0.1/16:宿主机是192.1 ...

  2. Docker网络详细理解-容器网络互通

    这篇文章主要解决以下几个问题: 1.同一个网段的容器互相之间通过ip进行ping通 2.同一个网段的容器互相之间通过容器名,通过使用--link进行ping通,已放弃这种方法 3.同一个网段的容器互相 ...

  3. docker网络配置方法总结

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  4. Docker网络详解

         当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机.它会在挂载到它的网口之间进行转发.      ...

  5. docker网络解析

    Docker概念和默认网络 什么是Docker网络呢?总的来说,网络中的容器们可以相互通信,网络外的又访问不了这些容器.具体来说,在一个网络中,它是一个容器的集合,在这个概念里面的一个容器,它会通过容 ...

  6. Docker 网络 Flannel

    flannel 安装 sudo yum install kernel-headers golang gccyum install flannel flannel 配置 在etcd中设置变量 etcdc ...

  7. Docker网络解决方案 - Calico部署记录

    简单来说,实现docker跨主机容器间通信,常用的第三方网络方案是Flannel,Weave,Calico:Flannel会为每个host分配一个subnet,容器从这个subnet中分配ip,这些i ...

  8. Docker网络解决方案 - Weave部署记录

    前面说到了Flannel的部署,今天这里说下Docker跨主机容器间网络通信的另一个工具Weave的使用.当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的 ...

  9. docker 网络的几种模式

    docker 网络分为单机和多机,我们来了解一下docker的单机网络 docker单机网络分为以下几种: 1)bridge NetWork,使用--net=bridge指定,默认设置.2)Host ...

  10. Docker网络 Weave

    当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的是自己的私有IP地址,不同主机的容器之间进行通讯需要将主机的端口映射到容器的端口上,而且IP地址需要使用主 ...

随机推荐

  1. docker离线安装

    1. yum安装 #源添加 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ...

  2. Aqua 专为自动化测试打造的IDE

    JetBrains是一家全球知名的软件开发公司,他们公司推出的IDE几乎是编程语言的首选,IntelliJ IDEA 之于Java,PyCharm之于Python,以及GoLand之于go等. 5月2 ...

  3. shell基础概述

    1.0 编程的目的 计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果. 编程 ...

  4. .NET周刊【6月第2期 2024-06-09】

    国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.Ex ...

  5. 实现 Emlog 最新评论列表不显示博主的评论回复

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 实现 Emlog 最新评论列表不显示博主的评论回复 日期: ...

  6. 一个基于SSM的CRUD的标准写法

    CRUD即CREATE,READ,UPDATE,DELETE的首字母的合写,意思是增读改删.前人为了便于发音和理解,改为增删改查. CRUD基本上是软件开发中中相当部分功能的最小功能模块构成,虽然软件 ...

  7. 03-vi和vim编辑器的使用

    背景 vim是一个类似于vi的著名的功能强大.高度可定制的文本编辑器. vim在vi的基础上改进和增加了很多特性. 如今vi已经是最受IT届欢迎的编辑器之一. 不止在Linux中,主流IDE都支持vi ...

  8. Linux开机启动三种方式

    有的时候,我们开机启动一些命令或者是一段脚本,又或者是开机启动自定义的服务. 下面归纳了2种实现的方式. 方式1-开机启动命令 vim /etc/rc.local #添加你想执行的命令 chmod + ...

  9. SpringBoot打包maven仓库里面没有的包

    SpringBoot打包maven仓库里面没有的包 在遇到一些自定义的jar包,maven仓库里面没有这些包,但是发布线上时我们还是只想发布一个jar包,也就是我们想要把第三方包打在最后生成的大jar ...

  10. bing生成的汉服美女。。