首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

請教一個 docker 隨機映射程序端口的問題

  •  
  •   GooMS · 2018-02-09 12:11:44 +08:00 via Android · 1078 次点击
    这是一个创建于 651 天前的主题,其中的信息可能已经有所发展或是发生改变。
    程序默認會監聽一些端口段並隨機使用,以此避免競爭。
    現在想要用 Docker 集群,不再和硬件打交道。

    但是端口這裡遇到問題,-P 指定的都是固定端口,如果隨機在一台機器運行多個程序那麼端口的競爭該如何處理呢?
    請大家給一些思路,謝謝
    第 1 条附言  ·  2018-02-09 13:01:05 +08:00
    是程序需要監聽一些端口入和出口,那麼程序端口都是固定的,如何解決在一台機器部署多個 docker 端口衝突的問題?是否有方案解決? 現在在程序已經實現了自動檢查範圍內可以使用的端口。
    9 回复  |  直到 2018-02-09 20:18:44 +08:00
        1
    Rheinmetal   2018-02-09 12:31:02 +08:00 via Android
    haproxy 转发
        2
    Anonym0u5   2018-02-09 12:32:34 +08:00 via Android
    没明白你的意思
        3
    rogwan   2018-02-09 12:55:09 +08:00 via Android
    运营商一层映射,云服务器一层映射,docker 一层映射
        4
    Reficul   2018-02-09 12:56:45 +08:00 via Android   ♥ 1
    要么交给 docker 自动分配主机端口,要么 host 模式交给你自己程序来随机监听端口
        5
    GooMS   2018-02-09 13:03:05 +08:00 via Android
    @Reficul docker 自動分配的可以轉發程序監聽端口的數據嗎
        6
    GooMS   2018-02-09 13:14:32 +08:00 via Android
    @Reficul 是不是說自動分配端口,我只要把程序端口範圍設置到 49000..49900
        7
    Reficul   2018-02-09 14:41:04 +08:00
    主机上暴露的端口可以是随机的,不指定就好了,容器内监听的端口固定。
    比如 docker run -p 80 xxx
    会暴露容器内的 80 端口到主机随机的一个可用端口。
        8
    yuanfnadi   2018-02-09 18:34:12 +08:00
    其實你可以在容器直接加一層網絡。例如 weave
    然後容器之間可以相互訪問,而且和 IP 和機器無關。然後擁有全部端口。
        9
    conn4575   2018-02-09 20:18:44 +08:00 via Android
    consul+registrator+nginx/haproxy
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4186 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 06:04 · PVG 14:04 · LAX 22:04 · JFK 01:04
    ♥ Do have faith in what you're doing.