docker 网络实践
#docker 网络模式
环境 centos7. , Docker version 17.12.-ce docker自带网络类型 bridge,host,none,container,overlay,macvlan #本地网络
bridge # --net=bridge 默认模式,NAT转发
host # --net=host 使用宿主机网络
container # --net=container:容器名或ID ,共用其它容器网络
none # --net=none 无网卡
#跨主机网络
overlay #vxlan模式
macvlan #使用外部lan,需手动配置
#可以使用其它网络插件
#查看docker网络
docker network ls
#docker修改本地默认网段
#docker启动默认创建docker0网桥172.17网段
#添加自定义网段
SetOPTS=" --bip=192.168.55.1/24"
sed -i "s#^ExecStart.*#& $SetOPTS #" /usr/lib/systemd/system/docker.service
grep 'ExecStart' /usr/lib/systemd/system/docker.service
#重启docker
systemctl daemon-reload
systemctl restart docker ifconfig docker0 |egrep 'inet |flags' #查看docker0网桥ip已改
#可使用自定义网桥,创建br0,修改配置 -b=br0
#docker本地网络实践
#不指定网络,使用默认bridge
docker run -dit --name busybox1 busybox
docker exec -it busybox1 ifconfig #查看网络 #host网络
docker run -dit --name busybox-host --net=host busybox
docker exec -it busybox-host ifconfig #查看网络,与宿主机一样 #container网络
docker run -dit --name busybox2 --net=container:busybox1 busybox #使用busybox1网络
docker exec -it busybox1 ifconfig #查看网络 #none没网络
docker run -dit --name busybox-none --net=none busybox
docker exec -it busybox-none ifconfig
#创建本地网络mynet1(自定义网络能设置固定ip)
docker network create --subnet 192.168.58.0/ --gateway 192.168.58.1 mynet1
docker run -dit --name busybox3 --network mynet1 --ip=192.168.58.18 busybox
docker exec busybox3 ifconfig |egrep 'inet|flags' #查看容器网络
#docker 容器 添加网卡
docker network connect mynet1 --ip 192.168.58.8 busybox1 #给容器添ip
docker exec $(docker ps -l -q) ifconfig |egrep 'inet|flags' #查看网络
docker network disconnect mynet1 busybox1 #断开网络,再次查看网络……
#删除测试容器、网络
docker rm -f busybox1 busybox2 busybox3 busybox-host busybox-none
docker network rm mynet1
#docker跨主机通信
#overlay网络
本次在docker swarm集群操作 创建docker swarm 集群参考http://www.cnblogs.com/elvi/p/8424378.html docker swarm集群创建容器,会自动创建overlay网络ingress docker network ls #查看网络 #创建overlay类型网络mynet2,并设置网段、网关
docker network create -d overlay --subnet 192.168.59.0/ --gateway 192.168.59.1 mynet2
docker network inspect mynet2 #查看网络参数
#swarm集群使用自定义网段mynet2
docker service create --name nginx2 --replicas \
-p : --network mynet2 hub.test.com:/almi/nginx:0.1
#hub.test.com:/almi/nginx:0.1 为内网私有仓库镜像
docker service ls
#swarm集群创建容器默认2个网卡,增加了自定义网卡
docker exec $(docker ps -l -q) ifconfig |egrep 'inet|flags' #查看网络
#删除测试
docker service rm nginx2
docker network rm mynet2
docker network prune #删除未使用的网卡
# macvlan网络
#宿主机开启网卡混杂模式
ip link set eth0 promisc on
ifconfig eth0 |egrep 'inet |flags'
#创建macvlan模式网络macnet
docker network create -d macvlan -o parent=eth0 macnet \
--subnet 172.16.50.0/ --gateway 172.16.50.1
#创建容器
docker run -d --name nginx3 --net macnet hub.test.com:/almi/nginx:0.1
docker exec nginx3 ping -c nginx3 #测试获取ip成功
#其它docker节点创建网络、容器,然后ping测试
#删除测试
docker rm -f $(docker ps -l)
docker network rm macnet
本次macvlan测试环境为虚拟机,获取外部vlan失败 宿主机配置vlan网络+macvlan模式,实现docker vlan网络 使用macvlan,无法与宿主机通信
docker 网络实践的更多相关文章
- docker网络实践
docker网络.md #docker 网络模式 环境 centos7.4 , Docker version 17.12.0-ce docker自带网络类型 bridge,host,none,cont ...
- Docker网络实践运用
Docker 容器网络概述 要构建具有安全的一致行为的 Web 应用程序,可以使用 Docker 网络特性.根据定义,网络为容器实现了完全隔离.因此,控制应用程序所在的网络很重要.Docker 容器网 ...
- 【转】Docker网络详解及pipework源码解读与实践
好文必转 原文地址: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-prac ...
- Docker 网络详解及 pipework 源码解读与实践
转载自:https://www.infoq.cn/article/docker-network-and-pipework-open-source-explanation-practice/ Docke ...
- Docker网络模式
[编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...
- Docker网络解决方案-Flannel(转)
转自https://www.cnblogs.com/kevingrace/p/6859114.html Docker跨主机容器间网络通信实现的工具有Pipework.Flannel.Weave.Ope ...
- docker 网络的几种模式
docker 网络分为单机和多机,我们来了解一下docker的单机网络 docker单机网络分为以下几种: 1)bridge NetWork,使用--net=bridge指定,默认设置.2)Host ...
- Docker 网络基础介绍
[编者按]本文作者为 Mesosphere 开发大使 Michael Hausenblas,主要介绍配置 Docker 单主机网络的基本知识.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...
- Docker网络一览
转自:http://dockone.io/article/1143 [编者的话]本文是Nuage Networks公司Filip Verloy的一篇博文,简介了一下Docker网络情况,单主机的四种模 ...
随机推荐
- Spring框架的事务管理之编程式的事务管理(了解)
1. 说明:Spring为了简化事务管理的代码:提供了模板类 TransactionTemplate,所以手动编程的方式来管理事务,只需要使用该模板类即可!!2.手动编程方式的具体步骤如下: 1.步骤 ...
- 【转】从源码浅析MVC的MvcRouteHandler、MvcHandler和MvcHttpHandler
原文:http://www.cnblogs.com/jeffwongishandsome/archive/2012/01/08/2316521.html 熟悉WebForm开发的朋友一定都知道,Pag ...
- BZOJ1221 [HNOI2001]软件开发 - 费用流
题解 非常显然的费用流. 但是建图还是需要思考的QuQ 将每天分成两个节点 $x_{i,1}, x_{i,2} $, $ x_{i,1}$用于提供服务, $x_{i ,2}$ 用来从源点获得$nd[i ...
- Reactor 模型(一)基本并发编程模型
Reactor 模型(一)基本并发编程模型 Netty 系列目录 (https://www.cnblogs.com/binarylei/p/10117436.html) 在讲解 Reactor 线程模 ...
- ListView单行刷新
之前要改变某一行ListView内容或者显示出删除按钮等,都要adapter.notifyDataSetChanged();刷新一下,数据少还可以,数据多的时候明显会消耗性能,单独刷新某一行就不会了, ...
- 2018.10.20 bzoj1079: [SCOI2008]着色方案(多维dp)
传送门 dp妙题. f[a][b][c][d][e][last]f[a][b][c][d][e][last]f[a][b][c][d][e][last]表示还剩下aaa个可以用一次的,还剩下bbb个可 ...
- 2018.09.17 bzoj1260: [CQOI2007]涂色paint(区间dp)
传送门 区间dp简单题啊. 很显然用f[l][r]f[l][r]f[l][r]表示把区间[l,r][l,r][l,r]按要求染好的代价. 这样可以O(n)O(n)O(n)枚举断点转移了啊. 显然如果断 ...
- hdu-1067(最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 题意:一个男生集合和一个女生集合,给出两个集合之间一一对应的关系,求出两个集合中最大独立集的点数 ...
- derective示例
1.指令的定义 .directive('haproxySetting', [ function () { return { restrict: 'AEC', scope: { haproxy: '=' ...
- UVa 11210 Chinese Mahjong (暴力,递归寻找)
题意:这个题意.有点麻烦,就是说给定13张牌,让你求能“听”的牌.(具体的见原题) 原题链接: https://uva.onlinejudge.org/index.php?option=com_onl ...