2017-10-12 128 views
1

我有簡單的搬運工,撰寫又名:到主機的路由設備,而不是特定的容器

version: '3' 
services: 
    app: 
    container_name: app 
    ports: 
     - 8081:8081 
    db: 
    container_name: db 
    ports: 
     - 5432:5432 

,默認情況下該容器在默認(brige是)網絡創建。 應用程序有DB連接屬性爲:jdbc:在PostgreSQL:// DB/some_db和everythig完美的作品。但是,不時我想要的應用connecto到其他分貝,這是我的主機機器上運行,而不是在搬運工容器。

的主要問題是,我不能改變我的連接屬性。而且,理想情況下,我不想運行新一些額外的選項容器我想改用數據庫主機每次(但重新啓動就可以了)

因此,我的問題:什麼是實現這一目標的最佳方式是什麼?是否有可能爲容器主機解析設置額外的路由?對於exapmle,如果DB容器無法訪問,然後到主機的路由。

+0

可能的重複[從Docker容器內部,我如何連接到本機的本地主機?](https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container - 如何-DO-I連接到該-本地主機的最馬赫) – lifeisfoo

回答

0

您可以從您的主機訪問主機服務。
見 「How to access host port from docker container」:

ip addr show docker0 
docker.for.mac.localhost # docker 17.06+ June 2017 

如果DB容器無法訪問,然後到主機的路由。

這是一個協調器的工作。
例如,使用kubernetes,您可以將external load balencer關聯起來,除非它不可訪問,否則可調整爲將流量重定向到您的窗格。

相關問題