2017-08-13 73 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,然後按照定義的端口號訪問這些服務。