代码之家  ›  专栏  ›  技术社区  ›  nemo

Docker将两个容器上的同一端口映射到主机上的不同端口

  •  0
  • nemo  · 技术社区  · 6 年前

    我有以下的 docker-compose

    db:
      image: postgres:10.5-alpine
    
    adminer:
      image: adminer:4.6.3
      ports:
        - 8080:8086
    
    my-service:
      image: my-image:latest
      ports:
        - 8080:8080
    

    当我跑的时候 docker-compose up ,我得到以下错误:

    ERROR: for adminer  Cannot start service adminer: driver failed programming
      external connectivity on endpoint docker_adminer_1
      (dcd0d56d58bbbefdea89dc64532854597fcaec9736d7ddb3f8de74bc1577d5ee):
      Bind for 0.0.0.0:8080 failed: port is already allocated
    

    我一定是误会了docker网络。我想是因为,我正在绘制 8080 两个服务上的端口到不同的主机端口,即。 8080个 8086

    你们能帮我解决这个问题吗?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  2
  •   bluescores    6 年前

    你倒过来了。

    <host_port>:<service_port>

    编辑: documentation