2017-08-13 27 views
0

我创建了两个Dockerfiles以在Web应用程序中运行前端和后端。当我运行docker-compose.yaml文件时,Web浏览器会打开Web应用程序前端。但我无法登录到系统。我认为连接这些容器存在问题。以下是我的docker-compose.yaml文件。我能做些什么来解决这个问题?无法使用docker-compose.yaml文件连接容器

version: '2' 
services: 
gulp: 
    build: './ui' 
    ports: 
    - "3000:4000" 

python: 
    build: '.' 
    ports: 
    - "5000:5000" 

回答

0

您需要使用--links使容器之间的沟通,你应该使用他们的DNS网络化名像一个码头工人,撰写文件中http://python:5000

0

容器是一个网络默认的一部分。一个容器可以使用其主机名访问其他容器。

主机名称可以在docker-compose文件中使用hostname来定义。如果主机名未定义,则服务名称将被视为主机名。

在内部,码头集装箱可以通过彼此之间的主机名相互通话。就像你的情况一样,gulp可以通过http://python:5000访问python,即使你没有声明端口,这也是可能的。这一切都在发生,因为它在码头系统内部。

从外面看,如果您想连接到任何服务,那么您可以像以前那样定义ports,然后按照定义的端口号访问这些服务。