Docker Macvlan 应用部署

Docker Macvlan 应用部署

MacVLAN有两种桥接模式

  • Bridge模式:不创建子接口的情况下直接去桥接物理接口。直接桥接到与宿主级的同网段。
  • VLAN Bridge模式:创建子接口去桥接物理接口。可划分多个VLAN。


Macvlan Bridge模式 容器专属网络

1、节点1节点2操作:创建macvlan网络

docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o parent=ens33 macvlan_net

docker network create 创建网络
-d 指定网络驱动程序为macvlan
--subnet 指定一个子网段
--gateway 指定网关
-o parent=ens33 指定宿主接口
macvlan_net 自定义网络名称

命令解析

命令:docker network ls
NETWORK ID          NAME                           DRIVER              SCOPE
0a48ab454840        macvlan_net                    macvlan             local

查看网络

注:如果需要访问外网,需要将网络设置为与宿主级相同网络下。

注:本地不可访问,因为桥接的本地网络。

注:单个网卡只能绑定一次如重复添加会报如下错误。

# ens33网卡已被绑定,不多次绑定。
Error response from daemon: network dm-0a48ab454840 is already using parent interface ens33

# 删除绑定网卡网络集
docker network rm ID号

报错

2、测试通信

macvlan-01# docker run -it --net macvlan_net --ip=172.100.1.10 busybox
macvlan-02# docker run -it --net macvlan_net --ip=172.100.1.11 busybox ping 172.100.1.10
docker run -it --net macvlan_net --ip=172.100.1.11 busybox ping 172.100.1.10
PING 172.100.1.10 (172.100.1.10): 56 data bytes
64 bytes from 172.100.1.10: seq=0 ttl=64 time=0.949 ms
64 bytes from 172.100.1.10: seq=1 ttl=64 time=0.316 ms
64 bytes from 172.100.1.10: seq=2 ttl=64 time=0.317 ms
64 bytes from 172.100.1.10: seq=3 ttl=64 time=0.310 ms


Macvlan VLAN Bridge模式 容器专属网络

1、节点1节点2操作:创建一个VLAN,VLAN ID 50

# ip link add link 宿主网卡 name 宿主网卡名字.子网卡名称id type vlan id 50
ip link add link ens33 name ens33.50 type vlan id 50
# 重启docker激活网卡
systemctl restart docker

2、节点1节点2操作:创建Macvlan网络

docker network create -d macvlan --subnet=172.99.0.0/24 --gateway=172.99.0.1 -o parent=ens33.50 macvlan_net99

docker network create 创建网络
-d 指定网络驱动程序为macvlan
--subnet 指定一个子网段
--gateway 指定网关
-o parent=ens33 指定宿主接口
macvlan_net99 自定义网络名称

命令解析

命令:docker network ls
NETWORK ID          NAME                           DRIVER              SCOPE
f3b3b084f580        macvlan_net99                  macvlan   

查看网络

3、测试互通

macvlan-01# docker run -it --net macvlan_net99 --ip=172.99.0.10 busybox
macvlan-02# docker run -it --net macvlan_net99 --ip=172.99.0.11 busybox ping 172.99.010

注:像这样创建多个子网卡,来实现划分多个VLAN环境。

原文地址:https://www.cnblogs.com/xiangsikai/p/9900133.html

时间: 2024-10-20 06:28:23

Docker Macvlan 应用部署的相关文章

Docker Macvlan网络部署

Macvlan Bridge模式 节点1创建 docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o parent=ens33 macvlan_net 网段为172.100.1.0/24 桥接的网卡为ens33 macvlan_net为指定的名称 查看 节点2也创建 创建容器测试互通 节点1创建 需要指定IP地址 docker run -it --net macvlan_net --ip=

基于docker、kubernetes部署openstack到atomic系统上

声明: 本人阅读笔记,翻译类文章仅作意译.如有不对之处,请指出. 需要更本源的理解,请自行阅读英文. 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 新浪微博:寻觅神迹 内容系本人学习.研究和总结,如有雷同,实属荣幸! 基于docker.kubernetes部署openstack到atomic系统上 openstack的服务定义,是不是看起来很简洁? openstack的实际组件构成,是不是看起来很复杂? 所有的openstack

深入浅出Docker(四):Docker的集成测试部署之道

1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心.迭代.循序渐进的开发理念.在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方式,给开发团队建立一套可以复用的开发环境,让开发环境可以通过Image的形式分享给项目的所有开发成员,以简化开发环境的搭建.但是,在没有Docker技术之前就已经有类如Vagrant的开发环境分发技术,软件开发者一样可以创建类似需求的环境配置流程.所以在开发环境方面,Docker技术的优势并不能很好

在Docker容器中部署Web应用

本文直接讲解如何在Docker容器中实战部署一个Web应用程序,关于Docker相关的概念和如何安装Docker请参考相关资料完成. 第一步:工具准备 演示如何在Docker容器中部署一个Java Web应用程序,需要准备的软件工具包括:jre,tomcat和webapp应用.另外,为了实现在容器启动时自动启动webapp,需要编写一个脚本工具完成该工作. 安装jre,请参考:http://www.wikihow.com/Install-Java-on-Linux 安装tomcat,请参考:ht

gerrit 基于docker实现的部署,包括nginx ssl、mysql

gerrit 基于docker容器的部署: 命令行启动 1.  启动mysql容器 sudo docker run --name mysql -d -v /gerrit_mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123qwezxc -e MYSQL_DATABASE=reviewdb -e MYSQL_USER=gerrit2 -e MYSQL_PASSWORD=gerrit mysql 2. 启动gerrit容器 sudo docker 

利用ansible centos7 系统批量安装docker1.12 并添加docker macvlan 网络支持

利用ansible centos7 系统批量安装docker 1.12并添加docker macvlan 网络支持 ansible 目录结构 . ├── hosts ├── roles │   └── docker_client │       ├── defaults │       ├── files │       ├── handlers │       ├── meta │       ├── tasks │       │   └── main.yml # ansible 安装doc

Docker 入门 到部署Web 程序

最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker概述: Docker: 本意是码头工人,言外之意是集装箱: Java号称“一次编译,到处运行”,因为java虚拟机解决平台的兼容性问题,所以有java虚拟机的地方就能跑java代码: Docker是:“一次封装,到处运行”,因为docker决绝了应用环境的问题,安装了docker的平台就能跑“doc

spring-boot项目的docker集成化部署(一)

目录 spring-boot项目的docker集成化部署 前言 基本思路与方案 基本步骤 准备源码 服务器和基础环境 结语 1. 本文总结: 2. 后期优化: spring-boot项目的docker集成化部署 前言 据说流行的微服务和docker一起,更配哦!接下来,使用简单spring-boot项目演示docker的集成化部署的案例,在看过微笑的博客觉得不过瘾,自己动手,下面的方案与Devops的方式比较接近:希望搭建理解这种思路. 基本思路与方案 开发者push到git服务器 Jenkin

Docker Compose 一键部署Nginx代理Tomcat集群

Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [[email protected] ~]# tree compose_nginx_tomcat/ compose_nginx_tomcat/ ├── docker-compose.yml ├── mysql │   ├── conf │   │   └── my.cnf │   └── data ├── nginx │   ├── Dockerfile │   ├── nginx-1.12.1.tar.gz │