首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用外部网关在网络中运行码头容器?

问如何使用外部网关在网络中运行码头容器?
EN

Stack Overflow用户
提问于 2016-10-05 10:13:12
回答 2查看 703关注 0票数 3

我有一些图像,我正在管理的对接-撰写,我需要在一个不同于主机(运行Ubuntu 16)的网络中运行它们。

主机具有IP 10.0.1.19/24和网关10.0.1.1。

这是我的船坞-合成人. This:

代码语言:javascript
复制
version: '2'
services:
  db:
    ...
    networks:
      ab-net:
        ipv4_address: 10.1.2.250
    ...

  app:
    ...
    networks:
      ab-net:
        ipv4_address: 10.1.2.11
    ...

networks:
  ab-net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 10.1.2.0/23
          gateway: 10.1.2.1

防火墙(我无法控制,不能更改)允许通过容器的网关10.1.2.1 (即防火墙本身)直接进入10.1.2.0/23,而不是主机。

在运行带有该配置的容器时,docker使用IP 10.1.2.1在主机上配置一个br接口;因此,在网络上有两台具有相同IP的机器:主机和防火墙/网关。

容器可以访问互联网,它们可以相互看到,并且从主机上我可以连接到容器。

我怎样才能让这个场景奏效呢?在这个阶段,如果可能的话,我宁愿不使用任何编排工具。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-09 13:05:25

我发现唯一的选择就是使用(目前的)实验特性"Ipvlan网络“。

Linux实现非常轻量级,因为它们不是使用传统的Linux桥进行隔离,而是简单地与Linux以太网接口或子接口相关联,以实现网络之间的隔离和与物理网络的连接。

文档相当大,不能在这里复制,但是我必须运行以下命令才能实现:

代码语言:javascript
复制
echo 8021q >> /etc/modules
modprobe 8021q
apt-get install vlan
edit /etc/network/interfaces

auto eth1.2320
iface eth1.2320 inet manual
    vlan-raw-device eth1

auto eth1.2321
iface eth1.2321 inet manual
    vlan-raw-device eth1

auto eth1.2322
iface eth1.2322 inet manual
    vlan-raw-device eth1

auto eth1.2323
iface eth1.2323 inet manual
    vlan-raw-device eth1

auto eth1.2324
iface eth1.2324 inet manual
    vlan-raw-device eth1

/etc/init.d/networking restart
票数 1
EN

Stack Overflow用户

发布于 2016-10-05 10:29:25

无法设置不同的网络外置码头NAT。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39871228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档