不同宿主机docker 通信_如何设置同网段IP

不同宿主机docker 通信_如何设置同网段IP依赖包net-toolsiproute2bridge-utilsgitcurl权限需要在root下执行脚本dnet.shj脚本内容#likebr0要创建的桥接设备名BRNAME=$1#likeeth0要矫健的网络接口名IFNAME=$2#192.168.1.2/24当前主机IPLOCALIP=$3#192.168.1.1当前主机…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

依赖包

net-tools iproute2 bridge-utils git curl

权限

需要在 root 下执行

脚本

dnet.sh j脚本内容

 

#like br0 要创建的桥接设备名
BRNAME=$1
#like eth0 要矫健的网络接口名
IFNAME=$2
#192.168.1.2/24 当前主机IP
LOCALIP=$3
#192.168.1.1 当前主机网关
GWIP=$4
# 注意如果此脚本出错会导致主机离线,无法进行网络访问,请做好应急预案
yum install -y net-tools iproute2  bridge-utils git
git clone https://github.com/jpetazzo/pipework
cp pipework/pipework /usr/local/bin/
(ip link add dev "$BRNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$BRNAME")
ip link set "$BRNAME" up
ip addr add $LOCALIP dev $BRNAME; \
ip addr del $LOCALIP dev $IFNAME; \
brctl addif $BRNAME $IFNAME; \
ip route del default; \
ip route add default via $GWIP dev $BRNAME
  • 实例

 

sh dnet.sh br0 eth0 192.168.1.2/24 192.168.1.1

创建一个测试用容器

 

docker run -itd --name testweb1 nginx

为创建好的容器分配主机同网段IP

 

pipework br0 testweb1 192.168.1.3/24@192.168.1.1

验证是否成功

在任意同网段主机内执行都可成功访问

 

ping 192.168.1.3
curl http://192.168.1.3

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171609.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 常用命令总结[通俗易懂]

    注意stop,restart后的容器,或者commit后的镜像启动环境变量需要重新加载,比如source/etc/source我们运行docker容器的时候,使用了-d参数,把容器在后台运行后。1.启动dockerdockerrun-d-i-t<imageID>/bin/bash上述命令执行某些命令回报错FailedtogetD-Busco…

    2022年4月17日
    41
  • docker启动mysql容器失败_docker容器

    docker启动mysql容器失败_docker容器什么是Docker?Docker是一种工具,它让容器创建,部署和运行应用程序变得更加容易。容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。安装DockerDesktop前往官方网站:www.docker.com/get-started根据操作系统,下载并安装对应的DockerDesktop。验…

    2022年10月5日
    0
  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

    2022年4月12日
    650
  • Jenkins(2)docker容器中安装python3「建议收藏」

    Jenkins(2)docker容器中安装python3「建议收藏」前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月29日
    3
  • docker容器启动参数[通俗易懂]

    dockerrun[option]镜像名[向启动容器中传入的命令]常用可选参数说明:-i表示以“交互模式”运行容器-t表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。–name为创建的容器命名-v表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即宿主机目录:容器中目录),可以使用多个-v做…

    2022年4月14日
    417
  • Jenkins(4)docker容器内部修改jenkins容器时间「建议收藏」

    Jenkins(4)docker容器内部修改jenkins容器时间「建议收藏」前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年7月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号