docker - 从一个容器到另一个容器的url服务是什么?

标签 docker

我在一个容器中的C#'web_dotnet'中有应用程序,该应用程序从第二个容器中的php服务'web_php'下载数据。但是什么是php服务的url? C#服务中的网址'http://web_php:80'不起作用。那是我的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

最佳答案

首先,您可以简化文件,删除不必要的网络声明和端口暴露。 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即可。

之后,如果您想从外部访问web_dotnet ** docker-compose,则可以添加ports指令以使其在主机上可见。

关于docker - 从一个容器到另一个容器的url服务是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54233468/

相关文章:

docker - 有没有办法按名称列出所有正在运行的 docker 容器?

java - Mac 主机不喜欢 Docker 容器端口转发

docker - 如何在 Alpine 中以非 root 身份运行 Cron

docker - Dockerfile在一行中定义多个ARG参数

networking - 网络和负载均衡器如何在 docker swarm 模式下工作?

docker - 通过 docker-compose up 创建卷时 IBM Bluemix 出错

python - Cloud Run 上的 Django 应用无限重定向 (301)

python-3.x - 如何在docker compose中的不同端口上运行的另一个 flask 容器中调用一个容器的端点?

docker - 如何使 kubernetes docker secret 工作?

python - 错误 : No matching distribution found for cryptography==3. 2.1