Docker网络管理
【摘要】 Docker网络管理1、介绍网络管理是docker中重要的部分,由于需要构建集群,容器之间需要进行通信,尤其是跨主机之间的容器间进行通信。2、网络管理docker有三种网络类型,bridge、host和none。查看docker的网络帮助# 查看network命令帮助$>docker network --help运行结果如下:Usage: docker network COMMANDMan...
Docker网络管理
1、介绍
网络管理是docker中重要的部分,由于需要构建集群,容器之间需要进行通信,尤其是跨主机之间的容器间进行通信。
2、网络管理
docker有三种网络类型,bridge、host和none。
查看docker的网络帮助
# 查看network命令帮助
$>docker network --help运行结果如下:
Usage: docker network COMMAND
Manage networks
Commands:
connect Connect a container to a network
create Create a network
disconnect Disconnect a container from a network
inspect Display detailed information on one or more networks
ls List networks
prune Remove all unused networks
rm Remove one or more networks查看网络列表
列表中DRIVER是三种类型之一,name可以任意取。
$>docker network list
检查指定网络
$>docker network inspect mynetwork
网关和网段:
3、使用macvlan配置跨网访问
3.1 环境说明
本案例使用两台虚拟机,s101和s102,具体配置见表格。
主机名称 | ip地址 | 网关 |
---|---|---|
s101 | 192.168.231.101 | 192.168.231.2 |
s102 | 192.168.231.102 | 192.168.231.2 |
3.2 目标
本案例要是实现两台虚拟机内的四个docker容器之间的网络访问,具体网络拓扑如下:
主机 | docker容器1 | docker容器2 |
---|---|---|
s103(192.168.231.103) | 192.168.231.30 | 192.168.231.31 |
s104(192.168.231.104) | 192.168.231.40 | 192.168.231.41 |
3.3 操作
对两台虚拟机的以太网卡均开启为混杂模式
如果不开启混杂模式,会导致macvlan无法访问外网。使用命令如下:
# 设置以太网卡开启混杂模式
$>ip link set eno16777736 promisc on查看网卡状态
$>ifconfig
在每台虚拟机上执行如下命令,添加虚拟网卡
# s103执行 ,需要位于同一网段
$>docker network create -d macvlan --subnet=192.168.231.30/24 --gateway=192.168.231.2 -o parent=eno16777736 -o macvlan_mode=bridge eth0_1
# s104执行
$>docker network create -d macvlan --subnet=192.168.231.40/24 --gateway=192.168.231.2 -o parent=eno16777736 -o macvlan_mode=bridge eth0_1分别在两台虚拟机上创建docker容器
s103
#
$>docker run -ti --privileged --net=eth0_1 --ip=192.168.231.30 --name spark30 myrepos:centos-spark-ssh /usr/sbin/init
#
$>docker run -ti --privileged --net=eth0_1 --ip=192.168.231.31 --name spark31 myrepos:centos-spark-ssh /usr/sbin/inits104
#
$>docker run -ti --privileged --net=eth0_1 --ip=192.168.231.40 --name spark40 myrepos:centos-spark-ssh /usr/sbin/init
#
$>docker run -ti --privileged --net=eth0_1 --ip=192.168.231.41 --name spark41 myrepos:centos-spark-ssh /usr/sbin/init
启动新终端,运行命令
$>docker exec -ti spark30 /bin/bash
测试容器之间是否能够ping通
# spark30
$>ping 192.168.231.31
# spark30
$>ping 192.168.231.40
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)