代码之家  ›  专栏  ›  技术社区  ›  Aleksander Chelpski

什么是从一个容器到另一个容器的URL服务?

  •  0
  • Aleksander Chelpski  · 技术社区  · 6 年前

    我在一个容器中有一个C“web_-dotnet”中的应用程序,它从第二个容器中的php服务“web_-php”下载数据。但是,PHP服务的URL是什么?URL http://web_php:80 '来自C服务不起作用。这是Mine Docker-Compose.yml:

    version: '3.5'
    
    services:
       web_php:
         image: php:7.2.2-apache
         container_name: my_php_container
         volumes:
          - ./php/:/var/www/html/
         ports:
           - 3000:80
         networks:
           - mynet
    
       web_dotnet:
         build: .
         container_name: my_dotnet_container
         ports:
           - 2000:80
         networks:
           - mynet
    
    networks:
       mynet:
         name: xyz_net
         driver: bridge
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   grapes    6 年前

    首先,可以简化文件,删除不必要的网络声明和端口公开。 docker-compose 为您创建默认的用户定义的网桥网络,并将所有服务链接到该网络-无需手动操作。此外,在网络内部,所有端口都自动暴露在服务中。

    第二,删除 container_name . 你把自己搞糊涂了。服务的主机名默认等于服务名。

    version: '3.5'
    
    services:
       web_php:
         image: php:7.2.2-apache
         volumes:
          - ./php/:/var/www/html/
    
       web_dotnet:
         build: .
    

    现在,在清理完所有无用的东西后,打电话给 web_php:80 web_dotnet .

    之后,如果您想访问 韦氏网络 **从外部** 码头工人组成 然后添加 ports 使其从主机可见的指令。