【Docker学习之六】Docker容器互联

时间:2022-02-06 08:59:39

环境
  docker-ce-19.03.1-3.el7.x86_64
  centos 7

一、基于Volume的互联
就是-v参数,将本机文件或目录挂载到容器目录,实现文件目录共享

二、基于Link的互联
1、docker默认是允许container互通,
2、docker daemon --icc=false --iptables=true关闭互通,一旦关闭了互通,只能通过-link name:alias命令连接指定container.
3、--link 目标容器(需要连接的容器):给一个主机名(DNS名称)用来代替IP地址进行访问 ,会在/etc/hosts中生成对应的ip映射
docker run --rm=true --link=mysqlserver:myserver -it java ping myserver

备注:设置--rm选项,容器退出时就能够自动清理容器内部的文件系统,不能与-d一起使用;

三、基于网络的互联
1、端口映射 :-p

2、直接使用宿主机网络
--net=host

3、容器共用一个IP网络
--net=container:容器名

4、docker 容器的IP地址能够被另外主机所访问

四、Docker网络方案一览
1、Linux路由机制打通网络
2、双网卡独立大二层交换(linux bridge)
3、Overlay网络
4、基于ovs的Overlay网络
5、neutron网络
6、官方的Libnetwork
7、OVS+Docker