【问题标题】:Creating an internal-only Docker overlay network with docker-compose使用 docker-compose 创建仅限内部的 Docker 覆盖网络
【发布时间】:2020-09-03 01:35:38
【问题描述】:

我正在构建一系列故意易受攻击/受感染的机器来教授网络安全。出于显而易见的原因,我希望这个 docker 网络与主机完全隔离,并且无法连接到互联网。查看 docker-compose 文档,这应该可以使用“内部”配置选项https://docs.docker.com/compose/compose-file/#internal,“默认情况下,Docker 还将桥接网络连接到它以提供外部连接。如果你想创建一个外部隔离的覆盖网络,您可以将此选项设置为 true。”但是,我无法让它在我的 docker-compose 文件中工作。

我的 docker-compose 文件的网络部分现在看起来像这样:

 31 networks:
 32     lab-net:
 33         driver: "overlay"
 34             - subnet: 172.20.0.0/16
 35             - internal: true

当我运行 docker-compose build 时出现以下错误:

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./docker-compose.yml", line 33, column 9
expected <block end>, but found '<block sequence start>'
  in "./docker-compose.yml", line 34, column 13

显然我错过了一些东西,我只是不确定是什么。有任何想法吗?谢谢!

【问题讨论】:

    标签: docker docker-compose overlay


    【解决方案1】:

    这是无效的yml 语法,甚至与 docker 无关:

    driver: "overlay"
      - subnet: 172.20.0.0/16
      - internal: true
    

    正如错误消息中所说:

    ERROR: yaml.parser.ParserError: ....
    

    所以在内部网络上试试这个:

    
    networks:
      lab-net:
        driver: overlay
        internal: true
    

    您可能还想参考 docker compose v2 文档中的完整示例,该示例使用您在示例中拥有的 subnet 选项。 docker 文档中的示例:

    ipam:
      driver: default
      config:
        - subnet: 172.28.0.0/16
          ip_range: 172.28.5.0/24
          gateway: 172.28.5.254
          aux_addresses:
            host1: 172.28.1.5
            host2: 172.28.1.6
            host3: 172.28.1.7
      options:
        foo: bar
        baz: "0"
    

    所以要使上述内部只有它可能后缀添加internal: true,可能是这样的:

    ipam:
      driver: default
      internal: true
      config:
        - subnet: 172.28.0.0/16
          ip_range: 172.28.5.0/24
          gateway: 172.28.5.254
          aux_addresses:
            host1: 172.28.1.5
            host2: 172.28.1.6
            host3: 172.28.1.7
      options:
        foo: bar
        baz: "0"
    

    【讨论】:

      猜你喜欢
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 2020-08-09
      • 1970-01-01
      相关资源
      最近更新 更多