将docker容器设置为宿主机同一网段

2023-11-07

        本文主要讲述,将docker的容器ip设置为宿主机同一网段,并且允许宿主机以及局域网其它机器访问它。

# 创建docker的虚拟网络,本人局域网的网段为192.168.1.0/24,网关为路由器的192.168.1.1
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=br0 docker-bridge

# 创建docker容器,通过network参数指定前面创建的虚拟网络,ip参数指定容器的ip地址。下面是个例子,具体命令可以自行替换
docker run -itd --name test --network=docker-bridge --ip=192.168.1.18 alpine

        进行到这里之后,会发现外部机器能ping通容器,但是宿主机无法ping通,这是因为macvlan的原因,还需要进行以下步骤

# 添加一个虚拟网卡并桥接到物理网卡,我这里因为上面还有一层虚拟网桥,所以用的是br0,否则就是用物理网卡名
ip link add macvlan-proxy link br0 type macvlan mode bridge
 
# 给虚拟网卡配置ip,这里可以是网段内任意ip,但是要避免ip冲突
ip addr add 192.168.1.16 dev macvlan-proxy
 
# 启用虚拟网卡
ip link set macvlan-proxy up
 
# 添加路由映射表,这里ip使用容器的ip
ip route add 192.168.1.18 dev macvlan-proxy

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将docker容器设置为宿主机同一网段 的相关文章

随机推荐

  • 安装fastdfs及java操作

    1 安装 libfastcommon git地址 https github com happyfish100 libfastcommon git 安装 git clone https github com happyfish100 libf
  • key-value数据库

    传统的文件系统中 需要维护目录的层次结构 使用dentry inode directory等复杂结构保存元数据的信息 而面对更多定制文件系统的需求 越来越多的系统考虑使用key value形式保存文件系统中的元数据信息 使用数据库来保存这些
  • Windows 安装完mysql 后 配置环境变量、重置密码、开启远程连接

    第一步 配置环境变量 系统变量 Path在最后一段添加 D ruanjian mysql 8 0 17 winx64 bin 这个是你安装mysql bin的位置 第二步用临时密码登录并重置密码 mysql gt mysql u root
  • yum默认安装位置及被占进程运行:/var/run/yum.pid 已被锁定,PID 为 4032 的另一个程序正在运行。

    yum install XX 默认安装位置是 usr lib64 在安装过程出现下面进程被占用 解决 rm f var run yum pid
  • 9个开源自动化测试框架,质量保证测试工程师用起来

    自动化测试框架由一组最佳实践 通用工具和库组成 可帮助测试人员评估多个Web和移动应用的功能 安全性 可用性和可访问性 而在 软件开发世界中有很多的自动化测试框架 该如何选择 虽然技术团队可以构建复杂的自动化测试框架 但是当可以选择现有的开
  • Git 补丁— diff 和 patch 使用详解

    Git 补丁 diff 和 patch 使用详解 1 diff 和 patch 的区别 2 生成patch 2 1 git diff 3 git format patch 3 应用patch 4 冲突解决 题外话 1 diff 和 patc
  • flutter 图片加载和预览实现

    注 本文只提供了思路 并无完整性demo 使用的是cached network image 因为版本变革经常头大 而且需要自己对源码做些修改 建议github fork一下 然后导入自己的地址 类似 dependencies cached
  • Spider(网络蜘蛛)之ajax爬取douban电影排行和kfc门店数据

    爬前注意 首先douban的接口请求方式是get简单一点 寻找规律可以爬取数据 kfc的接口方式是post data所需要parse urlencode data encode utf 8 需要编码 编码和解码是两个相反的过程 字节 lt
  • 分布式事务框架Seata

    分布式事务框架Seata sei达 一 分布式事务前言 1 数据库管理系统中事务 transaction 的四个特性 简称ACID 这种特性简称刚性事物 原子性 Atomicity 原子性是指事务是一个不可再分割的工作单元 事务中的操作要么
  • 特征选择--scikit-learn

    特征选择 Feature Selection choosing a subset of all the features the ones more informative 最终得到的特征选是原来特征的一个子集 特征选取是机器学习领域非常重
  • synchronized方法和代码块

    1 同步 由于多线程并发存在数据不安全问题 为了保证数据的安全性需要一些特殊的手段来维持 数据不安全主要是针对修改来说的 如果一个数据只能读不能修改几乎不会产生什么安全问题 只有修改数据的时候容易产生一些差错导致多线程并发造成数据不安全 从
  • 清理 Ubuntu 系统的 4 个简单步骤

    清理 Ubuntu 系统的 4 个简单步骤 现在 试试看这 4 个简单的步骤 来清理你的 Ubuntu 系统吧 这份精简指南将告诉你如何清理 Ubuntu 系统以及如何释放一些磁盘空间 如果你的 Ubuntu 系统已经运行了至少一年 尽管系
  • js类型检测

    1 检测是否是字符串 function isString obj return Object prototype toString call obj object String 2 检测是否是对象 function isObject obj
  • 《视觉SLAM十四讲》第一版源码slambook编译调试

    slambook master ch2 编译正常 log如下 slambook master ch2 mkdir build cd build cmake make j8 The C compiler identification is G
  • python中去除字符串中 表示的空格

    去掉 nbsp 硬空格 必须在unicode下替换才行 如下所示 text replace u xa0 其中text就是包含 nbsp 的一个变量
  • Unity3D中API常用方法和类详细讲解 (Transform类)

    目录 Transform类 点击这里进入官网 该类表示的是对象的位置 旋转和缩放 Properties Transform parent public Transform parent 让一个游戏物体成为另一游戏物体的子对象 那么该物体的
  • 计算机考研复试上机算法学习

    计算机考研复试上机算法学习 这篇博客是博主在准备可能到来的线下上机复试基于王道机试指南的学习 将各道习题链接和代码记录下来 这篇博客权且当个记录 文章目录 计算机考研复试上机算法学习 1 STL容器学习 1 1 vector动态数组 1 1
  • mongoDB 一些操作命令

    如果你想创建一个 myTest 的数据库 先运行use myTest命令 之后就做一些操作 如 db createCollection user 这样就可以创 建一个名叫 myTest 的数据库 一 数据库常用命令 1 Help查看命令提示
  • 微信小程序调用微信支付

    1 首先肯定是要去微信公众平台申请接入微信支付 2 申请成功之后就可以调用商户号的接口进行微信支付交易了 3 携带的参数肯定是从后端接口拿取的 我们回调的时候直接拉起支付就可以了 wx showLoading title 处理中 调用后端接
  • 将docker容器设置为宿主机同一网段

    本文主要讲述 将docker的容器ip设置为宿主机同一网段 并且允许宿主机以及局域网其它机器访问它 创建docker的虚拟网络 本人局域网的网段为192 168 1 0 24 网关为路由器的192 168 1 1 docker networ