docker网络

docker0是liunx的虚拟网桥  网桥是,应用层,表示层,回话层,传输层,网络层,数据链路层网桥()物理层

liunx虚拟网桥的特点:

可以设置ip地址

相当于拥有一个隐藏的虚拟网卡

 

ubuntu没有查看网桥管理工具需要先安装,apt-get install bridge-utils

之后可以运行brctl show查看网桥设备

当docker默认的网段不符合我们的条件时,我们可以设置通过liunx自带的

ifconfig docker0 192.168.200.1 netmask 255.255.255.0

默认情况下,docker并没有限制容器间的访问,同一台数组机可以访问     容器的IP地址不可靠,会随着启动而改变

可以用--link=cct1:webtest    表示连接到cct1这台容器上,并且取一个别名webtest,下次就可以用这个webtest了,会自动修改映射

让特定的容器进行连接

第一:DOCKER_OPTS="--icc = false"

--iptable=true

--link

iptables -f :把iptables清空

-iptables是liunx维护的一个工具可以用iptables -l -n查看详情

 

如何拒绝容器间的访问

把docker启动进程启动项选为false

--icc=false

docker网络_第1张图片

docker容器与外部网络连接

ip_forward:ip_forward=true(true)  是否允许流量转发

iptables:iptables:是liunx内核集成的包过滤的防火墙系统,几乎所有的liunx都会该功能

用iptables -t filter -L -n查看filter表

特定的访问不能访问   docker依赖了iptables进行各种网络设置

iptabes -I DOCKER -s 10.211.55.3 -d 172.17.0.7 -p TCP --dport 80 j DROP

 

 

 

Docker的数据管理:::很重要

数据卷:一般docker 的运行周期与里面运行的程序是一致的

数据卷是进过特殊设计的目录,可以绕过联合文件系统UFS(,)

为一个或者多个容器提供访问

数据卷让数据永久化,完全独立于容器的生命周期,当容器删除也不会有问题

docker网络_第2张图片

数据卷的特点:

数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了了数据会拷贝到数据卷

数据卷可以在容器间共享重用

数据卷可以在容器之间共享和重用

可以对数据卷进行修改,数据卷变化不会影响镜像更新

卷一直存在,即使挂载数据卷的容器已经删除了

可以使用docker run -v 本机目录:  容器中的目录做映射   如果本地没有会自动创建该目录

可以使用docker run -v 本机目录:  容器中的目录:RO做映射  权限限制在目录后面追加ro表示只读

当然了也可以在dockerfile中用VOLUME["/data"]  设置,但是这是随机分配本机地址,很难数据共享

docker数据卷容器解决了这一过程:

命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器

docker网络_第3张图片

挂载数据卷容器的方法:

docker run --volumes-from  容器名字

docker inspect --format =“{{.volumes}}”查看inspect中的数据    不会返回数据卷容器的信息,只会返回数据卷容器的挂载目录

docker rm -v 删除容器卷,-l移除容器间的网络连接    在docker中只要有一个容器在使用数据卷,数据卷就不会被删除

数据卷容器的作用仅仅是把数据卷配置传递到容器中

 

docker数据卷的备份和还原

docker网络_第4张图片

 命令如下:通过一个容器运行一个命令实现一条命令操作

 

docker跨主及连接:

使用网桥跨主机连接:

docker网络_第5张图片

docker网络_第6张图片

 

docker网络_第7张图片

通过网桥管理工具设置的网桥会在下次机器重启时失效,一般对网络配置文件进行修改文件

为etc/network/interfaces

优点:

配置简单,不依赖三方软件

缺点:

与主机在同网段,需要小心划分ip地址

需要有网段控制权,在生产环境中不易实现

不容易管理

兼容性不佳

 

使用Open vSwitch实现跨主机容器连接俗称ops

Open vSwitch是一个高质量,多层虚拟交换机

docker网络_第8张图片

 

gre:通用路由协议简称

使用weave实现跨主机容器的连接

中文:编织,建立一个虚拟的网络,用于将运行在不同主机的docker容器连接起来

安装weave->启动weave->连接主机->通过weave启动容器

下载weave并且放在、user/bin/weave目录下

chmod a+x /usr/bin/weave    修改weave的模式让其可以运行

启动weave:weave launch

会启动一个weach的容器

 

使用weach启动一个容器

c2=$(weave run 192.168.1.2/24 -it ubunt /bin/bash)

c2是启动容器的id

想进入该容器只需要docker attach $c2

 

 

你可能感兴趣的:(技术,详细文档,教程,docker入门,技术,docker)