要在Docker下使用网桥形式让外网直接访问内网,需要对docker进行一些配置,实际测试如下(需要注意docker版本的问题)

# eth1:192.168.56.101

# eth2: 192.168.58.101

# 192.168.56.0/24     管理网络

# 192.168.58.0/24     数据网络,容器使用的网络

# 切换到 root 用户执行以下命令

1、配置 Linux Bridge

brctl addbr br0

ip addr add 192.168.58.110/24 dev br0

# 给桥设置一个 IP,这样主机可以直接访问容器

ip link set dev br0 up

2、配置 Docker 守护进程

echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker

sudo service docker start

3、启动容器,设置网络模式为 none,自己配置容器网络

sudo docker run -it --net=none ubuntu:14.04 /bin/bash

4、查看容器进程 id

docker inspect -f '``.`State`.`Pid`’ CONTAINER_ID

pid=xxx

5、创建 namespaces 的目录

mkdir -p /var/run/netns

ln -s /proc/$pid/ns/net /var/run/netns/$pid

6、创建 veth 设备,分配给容器,绑定到桥

ip link add vetha type veth peer name vethb

brctl addif br100 vethb

ip link set vethb up

ip link set vetha netns $pid

ip netns exec $pid ip link set dev vetha name eth0

ip netns exec $pid ip link set eth0 up

ip netns exec $pid ip addr add 192.168.58.121/24 dev eth0

ip netns exec $pid ip route add default via 192.168.58.110

7、绑定 eth2 到 桥

brctl addif br0 eth2

ip addr del 192.168.58.101/24 dev eth2     # 删除 eth2 的 IP

ip addr add 192.168.58.101/24 dev br0    # 把 eth2 的IP加到网桥中

转载于:https://blog.51cto.com/mayuenjkxt/1589558

Docker下使用网桥形式相关推荐

  1. docker下安装jupyterHub

    docker下安装jupyterHub 安装docker 什么是docker 安装docker 1)centOs 2)Windows 3)Mac docker的基本操作 1)列出机器上的镜像(imag ...

  2. linux 网桥防火墙,linux透明防火墙(网桥形式).doc

    linux透明防火墙(网桥形式).doc 还剩 9页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 又如,对于 ftp 连接可以使用下面的连接跟踪:(1 ...

  3. Linux (ifconfig/docker) 移除网桥/虚拟网卡

    云主机平台创建了几台vps,但是安全组配置好之后发现无法用ssh无法登录,ping也不通,提示网络无法到达,内网能连接. 但是拿别人的电脑试了下能顺利使用ssh连接. 有人说是我电脑防火墙的问题,咱也 ...

  4. Docker下部署Mysql映射端口并挂载数据卷

    Docker下部署Mysql映射端口并挂载数据卷 1.搜索mysql镜像文件版本 2.下载最新版本mysql 或者 下载指定版本mysql 2.1 下载最新版[一般项目不直接使用最新版] 2.2 下载 ...

  5. docker下安装Nginx的方法

    这篇文章主要介绍了docker下安装Nginx的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 一. 环境说明 docker: 18.03.1-ce nginx: 1.15.1 二. 拉 ...

  6. docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

    docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...

  7. docker中lnmp访问php页面,Docker下部署LNMP工作环境的教程(详细步骤)

    本篇文章给大家带来的内容是关于Docker下部署LNMP工作环境的教程(详细步骤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 普通PC环境也可以用以下配置,只是MYSQL那里换回 ...

  8. docker下安装nacos 并使用mysql数据库

    没做出来 腾讯云  有机会用虚拟机试试 参考资料 https://www.e-learn.cn/content/java/2357340 https://blog.csdn.net/xieqing_x ...

  9. docker下gitlab安装配置使用(完整版)

    docker下gitlab安装配置使用(完整版) 22018.12.16 00:07:57字数 737阅读 17595 docker 安装gitlab以及使用 一.安装及配置 1.gitlab镜像拉取 ...

最新文章

  1. 带权重的随机输出数组中的元素
  2. 腾讯面试题:创建索引时,你会怎么考虑呢?(看完你就能和面试官谈人生了)
  3. asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册Microsoft.Jet.OLEDB.4.0 提供程序...
  4. C编译器、链接器、加载器详解
  5. 第二十二讲 延迟定理
  6. python批量清除一个列表中的某个内容,filter和lambda结合使用的方法
  7. 【技术综述】有三说GANs(上)
  8. 使用caffe训练时Loss变为nan的原因
  9. Linux环境下的Popush部署——张凯
  10. android 已经给权限读取照片 还是提示无法读取照片_iPhone无法访问照片,一招教你解决...
  11. [Python] 堆叠函数 stack((a,b), axis=0)
  12. Json for the .NET Compact Framework
  13. smart3D的初探索
  14. 六轴机器人直角坐标系建立_六自由度机械手的坐标建立及运动学分析
  15. 详解linux下的串口通讯开发
  16. 何为真正的大规模定制
  17. 从游戏中学习产品设计05:反馈篇
  18. 大数据与云计算、物联网三者的区别和关联
  19. [Android]从canDrawOverlays权限获取错误说起
  20. Dreaming to Distill Data-free Knowledge Transfer via DeepInversion

热门文章

  1. java转换docx为html_Java使用Jacob转换Word为HTML
  2. 求弹性模量和泊松比计算题_弹性模量及泊松比计算公式
  3. 重识Nginx - 12 SSL/TLS 浅析
  4. 关于GitHub客户端 authentication failed的解决办法
  5. Visual Studio简单登录程序界面设计
  6. Determinants
  7. LG在扩产OLED面板产能,但烧屏是它挥之不去的阴影
  8. “PDF修改器 2.5.2.0[强大的免费PDF文件编辑软件]”乃是假冒软件
  9. Keil 工程管理中移动分组(group)的位置
  10. js获取get请求参数