Docker 容器的网络连接 & 容器互联
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-utils
;sudo 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)
- 特定容器访问:
- --icc
- --iptable=true(允许添加到iptable中)
- --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 容器的网络连接 & 容器互联的更多相关文章
- Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...
- Docker基本命令与使用 —— Docker容器的网络连接(四)
一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...
- Docker学习(13) Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络基础 先安装网桥管理工具 Docker容器的互联 默认 Docker容器与外部网络的连接
- Docker容器的网络连接:
yw1989@ubuntu:~$ ifconfig docker0 Link encap:Ethernet HWaddr 02:42:97:61:42:9f inet addr:172.17.0.1 ...
- docker使用ssh远程连接容器(没钱买服务器又不想安装虚拟机患者必备)
突然有需求,需要使用go语言写个ssh终端连接功能,这时候手上又没有服务器,虚拟机也没有,正好使用docker搞起来 docker容器开启sshd服务,模拟服务器 我们知道docker是可以用exec ...
- ubuntu 创建容器 并ssh 连接容器
1.下载镜像:docker search ubuntu docker pull ubuntu 2. 创建容器 docker run --name spider_frame -p 8888:8888 - ...
- docker 查看容器的网络连接
#! /bin/bash echo $1 PID=$(docker inspect -f '{{.State.Pid}}' $1) nsenter -t $PID -n netstat |grep E ...
- docker之容器访问和网络连接(三)
前言 当一台服务器上部署了多个应用容器,它们直接可能需要相互通信,比如web应用容器需要访问mysql数据库容器. 主机访问容器 通过映射端口的形式我们可以在外部访问容器内的服务 # 将主机的127. ...
- Docker使用Link与newwork在容器之间建立连接
一,使用 --link容器互联 docker 默认使允许container 互通的(通过-icc=false 关闭互通)同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地 ...
随机推荐
- symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard 错误
通过更新glib2包修复.(yum update glib2)即可 拿走不谢,我也找得好辛苦!!!
- Centos 6.x 安装 Redis
本文以Centos6.8为例子,来进行演示. 1:下载最新版的Redis,比如我们安装在根目录下的redis文件下中 tar zxvf http://download.redis.io/release ...
- 收藏 SpringBoot :thymeleaf 使用详解
转载大神们笔记 --比较详细的 http://www.importnew.com/25826.html http://www.niugebbs.com/xdmrhf/1046839.html http ...
- Codeforces Beta Round #96 (Div. 2) E. Logo Turtle dp
http://codeforces.com/contest/133/problem/E 题目就是给定一段序列,要求那个乌龟要走完整段序列,其中T就是掉头,F就是向前一步,然后开始在原点,起始方向随意, ...
- 专题《一》 mysql优化
从今天开始,在这里记录面试会问的问题,针对java高级开发,架构师方向. 1.数据库设计要合理.开发经验不同 设计表水平不同 影响后面操作 三范式:1------------原子约束,每列不可分割 ...
- 基本类型包装类、System类、Math类、Arrays类、大数据运算
1 基本类型包装类 Java中想对8种基本数据类型进行复杂操作很困难. 实际程序界面上用户输入的数据都是以字符串类型进行存储的. 程序开发中,需要把字符串转换成指定的基本数据类型. 1.1基本数据类型 ...
- Kendo UI Validator 概述
Kendo UI Validator 概述 Kendo UI Validator 支持了客戶端校驗的便捷方法,它基於 HTML 5 的表單校驗功能,支持很多內置的校驗規則,同時也提供了自定義規則的便捷 ...
- Ubuntu 11.04 安装 cuda5.0
由于实验需要,于2016年10月15日再Ubuntu11.04安装cuda5.0,但是从网上查找Ubuntu11.04 只有对应的支持的cuda4 版本,cuda 5.0前面版本不支持IDE nisg ...
- gitinore修改不生效
.gitignore只能忽略那些尚未被被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的.一个简单的解决方法就是先把本地缓存删除(改变成未track状态),然后 ...
- iOS-浅谈runtime运行时机制02-runtime简单使用
http://blog.csdn.net/jiajiayouba/article/details/44201079 由于OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方 ...