【问题标题】:aliases for external containers linked through network通过网络链接的外部容器的别名
【发布时间】:2017-07-10 14:16:21
【问题描述】:

假设我们有两个网络服务:alpha 和 beta

1) docker-compose.yml 用于 alpha

version: '2'

services:
    web:
        build: .
        env_file: local.env
        networks:
          - default
          - beta

    networks:
        beta:
            external:
                name: beta_default

2) docker-compose.yml 用于测试版

version: '2'

services:
    web:
        build: .
        env_file: .env
        expose:
          - "5000"

这样我就可以从alpha_web_1 容器与beta_web_1 容器交互(例如ping)。我想要的是为beta_web_1 容器创建一个别名,这样我就可以在一个有效的 URL 之后命名它,例如:beta.local

我希望这发生在 docker-compose.yml 内,用于 alpha 或以任何方式使其保持在 alpha 的视图范围内,这样我就不需要更改 beta_web_1 的实际系统范围名称

这可能吗?

【问题讨论】:

    标签: docker docker-compose docker-networking


    【解决方案1】:

    我错过了networks 下有一个aliases 选项。这样,如果我们将 docker-compose.yml 文件更改为:

    1) alpha/docker-compose.yml:

    version: '2'
    
    services:
        web:
            build: .
            env_file: local.env
            networks:
              default:
                 aliases:
                    - alpha.local
              beta:
    
    networks:
        beta:
            external:
                name: beta_default
    

    2) beta/docker-compose.yml

    version: '2'
    
    services:
        web:
            build: .
            env_file: .env
            expose:
              - "5000"
            networks:
              default:
                 aliases:
                    - beta.local
              alpha:
    
    networks:
        alpha:
           external:
                name: alpha_default
    

    现在我们可以 ping 来自 alpha 的 beta.local 容器和来自 beta 的 alpha.local 容器。

    【讨论】:

    • 是否可以为外部端点做同样的事情?例如如果我希望 alpha 访问外部 ip(API 端点),我可以在撰写文件中为该 ip 定义别名吗?
    • @tkyass 如果我理解正确,你要找的是extra_hosts docs.docker.com/compose/compose-file/#extra_hosts
    • 这正是我想要的......谢谢@chefarov
    • 这太棒了!!
    猜你喜欢
    • 1970-01-01
    • 2012-05-13
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多