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…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

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