1. Docker 容器网络基础架构

Docker0

ifconfig查看到的 docker0 是linux的虚拟网桥(OSI数据链路层)

docker0 地址划分:
172.17.42.1 255.255.0.0
总共提供65534个地址

修改docker0 IP池
sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0

网桥管理工具:bridge-utilssudo brctl show查看网桥设备。添加虚拟网桥:sudo brctl addrbr br0,更改docker的启动配置:在/etc/default/docker中添加DOCKER_OPS值: -b=br0即可。

linux虚拟网桥特点:可以设置IP地址,相当于拥有一个隐藏的虚拟网卡

2. Docker 容器的互联

  • docker在默认时是允许所有容器连接
  • docker拒绝容器间互联
  • 允许特定容器互联

-icc=true默认允许容器互相连接

通常重启容器IP会改变,随容器启动而改变!

docker run --link=[CONTAINER_NAME]:[ALIAS] [IMAGE] [COMMAND]以指定代号访问容器,可避免IP变化带来的影响,在容器中即可以用别名访问容器(修改了host和改变了env)。(官方不推荐,使用docker network)

  • 特定容器访问:
  1. --icc
  2. --iptable=true(允许添加到iptable中)
  3. --link

3. Docker 容器与外部网络的连接

1.ip_forward

--ip-forward=true决定系统是否转发流量

sysctl net.ipv4.conf.all.forwarding查看数据转发是否开启

2.iptables包过滤防火墙系统,允许端口映射访问,限制IP访问容器

  • 表table
  • 链chain
  • 规则rule

filter表中包含的链:

  • INPUT
  • FORWARD
  • OUTPUT

查看filter表(默认):
sudo iptables -L -n

添加一条限制访问:
sudo iptables -I DOCKER -s 源IP -d 目的IP -p TCP(协议) --dport 80(端口) -j DROP(操作)

Docker 容器的网络连接 & 容器互联的更多相关文章

  1. Docker容器的网络连接

    Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...

  2. Docker基本命令与使用 —— Docker容器的网络连接(四)

    一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...

  3. Docker学习(13) Docker容器的网络连接

    Docker容器的网络连接 Docker容器的网络基础 先安装网桥管理工具 Docker容器的互联 默认 Docker容器与外部网络的连接

  4. Docker容器的网络连接:

    yw1989@ubuntu:~$ ifconfig docker0 Link encap:Ethernet HWaddr 02:42:97:61:42:9f inet addr:172.17.0.1 ...

  5. docker使用ssh远程连接容器(没钱买服务器又不想安装虚拟机患者必备)

    突然有需求,需要使用go语言写个ssh终端连接功能,这时候手上又没有服务器,虚拟机也没有,正好使用docker搞起来 docker容器开启sshd服务,模拟服务器 我们知道docker是可以用exec ...

  6. ubuntu 创建容器 并ssh 连接容器

    1.下载镜像:docker search ubuntu docker pull ubuntu 2. 创建容器 docker run --name spider_frame -p 8888:8888 - ...

  7. docker 查看容器的网络连接

    #! /bin/bash echo $1 PID=$(docker inspect -f '{{.State.Pid}}' $1) nsenter -t $PID -n netstat |grep E ...

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

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

  9. Docker使用Link与newwork在容器之间建立连接

    一,使用 --link容器互联 docker 默认使允许container 互通的(通过-icc=false 关闭互通)同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地 ...

随机推荐

  1. Java - 一道关于Arrays.asList的题目

    题目 有这样一道有趣的题目: final int[] test = new int[]{1,2,3,4}; final Integer[] test2 = new Integer[]{1,2,3,4} ...

  2. JS高级学习历程-11

    [继承] 在php,一个类去继承另一个类,本类实例化出来的对象,既可以调用本身类的成员,也可以调用父类的成员. 在javascript继承主要通过原型实现,构造函数继承一个对象,构造函数的实例会拥有被 ...

  3. python3的encode()和decode()

    python3的encode()和decode() 在python3的内存中. 在程序运行阶段. 使⽤用的是unicode编码. 因为unicode是万国码. 什么内容都可以进行显示. 那么在数据传输 ...

  4. A.dreamstart的催促

    题目描述 有一天集训队的学弟们正在计算一堆数,但是dreamstart感觉他们算的太慢了,就让他们坐在一起想出一个快速计算的方法,但是由于他们一时想不出来,想让你帮助他们.他们说现在有一个数列,要算出 ...

  5. Java Excel API的使用

    https://wenku.baidu.com/view/724cc9e2dd88d0d232d46a1b.html

  6. 【aspnetcore】抓取远程图片

    找到要抓取的图片地址:http://i.imgur.com/8S7OaEB.jpg 抓取的步骤: 请求图片路径 获取返回的数据 将数据转换为stream 将stream转换为Image 保存Image ...

  7. High waits on control file sequential read

    High waits on control file sequential read (文档 ID 2277867.1) In case we run into an issue where cont ...

  8. 破解百度翻译页面api参数加密

    我们的目标 https://fanyi.baidu.com/      找到获取翻译的请求 是这个 https://fanyi.baidu.com/v2transapi 查看一下post提交的表单,是 ...

  9. jquery阻止网页中右键的点击

    <body onmousedown="whichElement(event)"> </body> function whichElement(e) { if ...

  10. 巧用伪元素绘制带边的三角形--CSS3

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...