将docker容器用作网络网关

时间:2018-10-01 16:30:25

标签: docker docker-compose docker-networking

我想配置一个网关来连接两个容器。下面是一个示例compose文件,该文件创建了三个容器-一个test_client,一个test_server和一个代理。代理服务器应充当从test_client到test_server的所有通信的默认网关。我使用的是撰写文件格式v2,因为v3不支持IPAM网关配置。

version: "2"
services:
  proxy:
    build: .
    cap_add:
      - NET_ADMIN
    expose:
      - 8080
      - 80
      - 443
    networks:
      client_network:
          ipv4_address: '192.168.0.5'
      server_network: null
    stdin_open: true
    tty: true
  test_server:
    build: ./test_server
    expose:
      - 8000
    networks:
      - server_network
  test_client:
    build: ./test_client
    networks:
      - client_network
    stdin_open: true
    tty: true

networks:
  client_network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: "192.168.0.0/24"
          gateway: "192.168.0.5"
  server_network:
    driver: bridge

运行docker-compose up时,出现以下错误:

ERROR: for 28e458cec9ac_network_proxy_1  b'user specified IP address is supported only when connecting to networks with user configured subnets'

我已阅读以下资源:

SO: docker container as gateway between two docker bridges Docker forums

但是他们似乎并没有帮助我回答如何获得此设置。我并没有致力于任何特定的网络结构-我唯一要做的就是配置一个容器充当其他两个容器之间的网络级网关的事情。

0 个答案:

没有答案