docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
docker配置网络

#宿主机执行命令
ifconfig 查询对应的主机ip 子网掩码 网关地址
#[网卡名称]:inet[主机IP] netmask[子网掩码] broadcast[网关地址]
这里需要重点关注:eno1[网卡名称]以及【192.168.31.225】网关地址

在宿主机执行docker命令创建一个虚拟网络虚拟网络与宿主机同网段
docker network create -d macvlan --subnet 192.168.31.0/24 --gateway 192.168.31.1 -o parent=eno1 docker-bridge
这里针对上面的创建做一个解释:
-d macvlan :表示创建一个macvlan的网络,使用macvlan网络驱动
–subnet :[网段]【子网名称】
–gateway :指定宿主机所在的网段的网关
-o parent :继承指定网段的网卡 (这里我的宿主机的网卡是eno1所以 选择eno1为继承网卡)
至此创建了一个名称为docker-bridge的macvlan网络名称
在宿主机端运行docker 创建container容器 并为容器配置IP地址
docker run -it --network=docker-bridge --ip=192.168.31.10 --name=test osrf/ros:humble-desktop-full /bin/bash
#至此创建一个静态IP为192.168.31.10的container容器 外部主机可以通过远程实现访问
想通过外部主机实现docker 远程访问container内部
#需要在docker内部进行ssh 远程服务配置
/etc/init.d/ssh status #检查容器是否有ssh服务
sudo apt-get install openssh-server #安装ssh远程链接
#设置root远程访问权限(**这里需要在PermitRootLogin prohibit-password下添加如下内容**)
sudo vim /etc/ssh/sshd_config
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
按esc :wq!保存后
#配置容器的用户密码
passwd#设置开机自启动
sudo systemctl enable ssh
sudo vim /root/.bashrc
在.bashrc末尾添加如下代码
service ssh start 保存
在外部宿主机进行ping 然后ssh远程访问

外部主机配置参考:
windows 主机 ipconfig的连接网段为192.168.31.95
跟docker container test处于同一个局域网IP内
ping 192.168.31.10
#能够成功接收到回传包数据
ssh root@192.168.31.10 -p 22 #其中22为容器暴露的外部端口
#上图为成功进入docker 容器内部实现window 进入 linux宿主机内部的docker 进行直接通信
参考链接
参考连接
参考链接
参考链接
问题在宿主机不能ping同处在同局域网段的docker container
基础环境:linux 20.04 ip 为有线连接 ip:192.168.31.105
container配置的ip为192.168.31.10
是现在宿主机内部ping同其docker容器
问题:

解决方法:外部机器能ping通容器,但是宿主机无法ping通,这是因为macvlan的原因,还需要进行以下步骤
#添加一个虚拟网卡 并桥接到物理网卡上 因为上面配置有一个docker-bridge的网桥 所以
sudo ip link add macvlan-proxy link eno1 macvlan mode bridge
#主要就是创建一个macvlan-proxy的虚拟网卡 通过bridge 桥接到noa1
#给虚拟网卡配置ip 需要避免ip冲突
#这里window ip 12.168.31.95
#linux ip 192.168.31.195
#板端 ip 192.168.31.67
#docker container test ip 192.168.31.10
sudo ip addr add 192.168.31.15 dev macvlan-proxy
#启动虚拟网卡
sudo ip link set macvlan-proxy up
#添加路由映射表 ip为container test的ip
sudo ip route add 192.168.31.10 dev macvlan-proxy
#最后成功ping 通同宿主机下docker container在同局域网下的container容器
zhaobojun@zhaobojun:~$ sudo ip link add macvlan-proxy link eno1 type macvlan mode bridge
[sudo] zhaobojun 的密码:
zhaobojun@zhaobojun:~$ ip addr add 192.168.31.15 dev macvlan-proxy
RTNETLINK answers: Operation not permitted
zhaobojun@zhaobojun:~$ sudo ip addr add 192.168.31.15 dev macvlan-proxy
zhaobojun@zhaobojun:~$ sudo ip link set macvlan-proxy up
zhaobojun@zhaobojun:~$ ip route add 192.168.31.10 dev macvlan-proxy
RTNETLINK answers: Operation not permitted
zhaobojun@zhaobojun:~$ sudo ip route add 192.168.31.10 dev macvlan-proxy
zhaobojun@zhaobojun:~$ pi
pi1toppm pidof pinentry-x11 pip
pi3topbm pigz ping pip3
pic pinentry ping4 pivot_root
pico pinentry-curses ping6 pixeltool
piconv pinentry-gnome3 pinky
zhaobojun@zhaobojun:~$ pin
pinentry pinentry-gnome3 ping ping6
pinentry-curses pinentry-x11 ping4 pinky
zhaobojun@zhaobojun:~$ ping
ping ping4 ping6
zhaobojun@zhaobojun:~$ ping 192.168.31.10
PING 192.168.31.10 (192.168.31.10) 56(84) bytes of data.
64 字节,来自 192.168.31.10: icmp_seq=1 ttl=64 时间=0.109 毫秒
64 字节,来自 192.168.31.10: icmp_seq=2 ttl=64 时间=0.075 毫秒
64 字节,来自 192.168.31.10: icmp_seq=3 ttl=64 时间=0.071 毫秒
64 字节,来自 192.168.31.10: icmp_seq=4 ttl=64 时间=0.074 毫秒
64 字节,来自 192.168.31.10: icmp_seq=5 ttl=64 时间=0.077 毫秒
64 字节,来自 192.168.31.10: icmp_seq=6 ttl=64 时间=0.071 毫秒
64 字节,来自 192.168.31.10: icmp_seq=7 ttl=64 时间=0.075 毫秒
64 字节,来自 192.168.31.10: icmp_seq=8 ttl=64 时间=0.063 毫秒
64 字节,来自 192.168.31.10: icmp_seq=9 ttl=64 时间=0.072 毫秒
^C
--- 192.168.31.10 ping 统计 ---
已发送 9 个包, 已接收 9 个包, 0% 包丢失, 耗时 8194 毫秒
rtt min/avg/max/mdev = 0.063/0.076/0.109/0.012 ms
参考连接
sunrise@ubuntu:~$ sudo ip add macvlan-proxy link eno1 macvlan mode bridge
Command "macvlan-proxy" is unknown, try "ip address help".
sunrise@ubuntu:~$ sudo ip add macvlan-proxy link wlan0 macvlan mode bridge
Command "macvlan-proxy" is unknown, try "ip address help".
sunrise@ubuntu:~$ ip link add macvlan-proxy link wlan0 type macvlan mode bridge
RTNETLINK answers: Operation not permitted
sunrise@ubuntu:~$ sudo ip link add macvlan-proxy link wlan0 type macvlan mode bridge
sunrise@ubuntu:~$ sudo ip addr add 192.168.1.60 dev macvlan-proxy
sunrise@ubuntu:~$ ip link set macvlan-proxy up
RTNETLINK answers: Operation not permitted
sunrise@ubuntu:~$ sudo ip link set macvlan-proxy up
sunrise@ubuntu:~$ sudo ip route add 192.168.31.50 dev macvlan-proxy
sunrise@ubuntu:~$ sudo ip add macvlan-proxy link eno1 macvlan mode bridge
Command "macvlan-proxy" is unknown, try "ip address help".
sunrise@ubuntu:~$ sudo ip add macvlan-proxy link wlan0 macvlan mode bridge
Command "macvlan-proxy" is unknown, try "ip address help".
sunrise@ubuntu:~$ ip link add macvlan-proxy link wlan0 type macvlan mode bridge
RTNETLINK answers: Operation not permitted
sunrise@ubuntu:~$ sudo ip link add macvlan-proxy link wlan0 type macvlan mode bridge
sunrise@ubuntu:~$ sudo ip addr add 192.168.1.60 dev macvlan-proxy
sunrise@ubuntu:~$ ip link set macvlan-proxy up
RTNETLINK answers: Operation not permitted
sunrise@ubuntu:~$ sudo ip link set macvlan-proxy up
sunrise@ubuntu:~$ sudo ip route add 192.168.31.50 dev macvlan-proxy 相关文章:
docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
docker配置网络 #宿主机执行命令 ifconfig 查询对应的主机ip 子网掩码 网关地址 #[网卡名称]:inet[主机IP] netmask[子网掩码] broadcast[网关地址]这里需要重点关注:eno1[网卡名称]以及【192.168.31.225】网关地址 在宿主机执行docker命令创建一个虚拟…...
4-7-1.C# 数据容器 - LinkedList(LinkedList 的定义、LinkedList 结点的遍历、LinkedList 的常用方法)
LinkedList 概述 LinkedList<T> 通过节点(Node)来存储数据,每个节点包含数据和指向下一个节点的引用 LinkedList<T> 存储的元素是可重复的 LinkedList<T> 支持泛型,可以指定存储的元素的类型 LinkedList<…...
「三」体验HarmonyOS端云一体化开发模板——使用DevEco Studio直接创建端云一体化工程
关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…...
确保以管理员权限运行 Visual Studio 开发者命令提示符
文章目录 解决方法:1. 以管理员身份运行命令提示符2. 改变目录权限3. 改变项目目录位置4. 检查文件系统权限 总结: ********************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.12.0 …...
命令执行简单(棱角社区有毒)
前言:小迪安全2022第一节反弹shell,小迪用的是两台都是云服务器,没有服务器可以在自己的主机上搭建也是可以的,主机上搭两个网站 思路:生成一个木马文件,下载到本机,然后利用本机上传到目标主机…...
Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
环境: keil版本为5.38,版本务必高于5.30 STM32F4的pack包版本要高于2.9 软件包下载地址:https://zhuanlan.zhihu.com/p/262507061 一、更改Keil中编译器 更改后编译,会报很多错,先不管。 二、更改头文件依赖 观察…...
Kafka-创建topic源码
一、命令创建topic kafka-topics --create --topic quickstart-events --bootstrap-server cdh1:9092 --partitions 2 --replication-factor 2 二、kafka-topics脚本 exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.TopicCommand "$" 脚本中指定了…...
【网络安全】(一) 0成本添加访问级监控
互联网的安全感这个概念源于阿里。顾名思义,让互联网的用户对于web产品能够产生足够的信任和依赖。特别是涉及到用户资金交易的站点,一次严重的用户资料泄露就可以彻底毁掉你的品牌。 然而当前阶段除了bat大部分互联网行业的企业对于网络安全给的重视都…...
【Three.js基础学习】26. Animated galaxy
前言 shaders实现星系 课程回顾 使用顶点着色器为每个粒子设置动画 a属性 , u制服 ,v变化 像素比:window.devicePixelRatio 自动从渲染器检索像素比 renderer.getPixelRatio() 如何尺寸衰减, 放大缩小视角时,粒子都是同…...
vscode使用ssh配置docker容器环境
1 创建容器,并映射主机和容器的指定ssh服务端口 2 进入容器 docker exec -it <容器ID> /bin/bash 3在容器中安装ssh服务 apt-get update apt-get install openssh-server 接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录 vim /…...
NLP论文速读(EMNLP 2024)|动态奖励与提示优化来帮助语言模型的进行自我对齐
论文速读|Dynamic Rewarding with Prompt Optimization Enables Tuning-free Self-Alignment of Language Models 论文信息: 简介: 本文讨论的背景是大型语言模型(LLMs)的自我对齐问题。传统的LLMs对齐方法依赖于昂贵的训练和人类偏好注释&am…...
【LeetCode】167. 两数之和 II - 输入有序数组
描述 给定一个下标从 1 开始的整数数组numbers,该数组已按非递减顺序排列,请从数组中找出满足相加之和等于目标数target的两个数。如果这两个数分别是numbers[index1]和numbers[index2],返回整数数组[index1, index2]。 只存在唯一答案&#…...
Getx:GetxController依赖管理02,Binding绑定全局控制器(懒加载Controller)
在使用GetX 状态管理器的时候,如果每个页面都手动实例化一个控制器就太麻烦了, Binding 的作用就是所有需要进行状态管理的控制器进行统一初始化 创建全局控制器Binding import package:get/get.dart; import ../controllers/counter.dart; // 同上一篇内…...
leetcode 找不同
389. 找不同 已解答 简单 相关标签 相关企业 给定两个字符串 s 和 t ,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s "abcd"…...
2025 - 生信信息学 - GEO数据分析 - RF分析(随机森林)
GEO数据分析 - RF分析(随机森林) 01 准备数据文件 #install.packages("randomForest")#引用包 library(randomForest) set.seed(123456)inputFile"diffGeneExp.txt" #输入文件 setwd("/Users/wangyang/Desktop/BCBM/02ra…...
Matlab深度学习(四)——AlexNet卷积神经网络
网络搭建参考:手撕 CNN 经典网络之 AlexNet(理论篇)-CSDN博客 在实际工程应用中,构建并训练一个大规模的卷积神经网络是比较复杂的,需要大量的数据以及高性能的硬件。如果通过训练好的典型网络稍加改进…...
etcd defrag
场景 prometheus监控告警,告警信息如下 etcd cluster "kube-etcd": database size in use on instance xx is 33.45% of the actual allocated disk space, please run defragmentation (e.g. etcdctl defrag) to retrieve the unused fragmented disk space.处理…...
golang语言整合jwt+gin框架实现token
1.下载jwt go get -u github.com/dgrijalva/jwt-go2.新建生成token和解析token文件 2.1 新建common文件夹和jwtConfig文件夹 新建jwtconfig.go文件 2.2 jwtconfig.go文件代码 /* Time : 2021/8/2 下午3:03 Author : mrxuexi File : main Software: GoLand */ package jwtC…...
数据治理、数据素养和数据质量管理:文献综述
注意:这并不是正式发表的论文,只是一篇用来交作业的文章 摘要 随着数据时代的到来,数据治理、数据素养和数据质量管理成为组织数据管理中的三大核心概念。本文基于相关研究与实践,对这三个领域进行全面综述,探讨它…...
【Linux】用户和用户组管理
管理用户 1.添加用户账号——useradd命令 【实例2-1-1】 按系统默认配置添加指定用户账号st和stu。 # 添加用户账号st [rootlocalhost ~]# useradd st # 添加用户账号stu [rootlocalhost ~]# useradd stu【实例2-1-2】添加用户账号stu01,UID为1004&am…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

在宿主机端运行docker 创建container容器 并为容器配置IP地址