2017-09-08 28 views
2

我有三個搬運工容器:如何刪除兩個一起使用橋接網絡的Docker容器?

1:在端口8080 nginx的容器訪問,而不是使用橋接網絡

2:XWiki實現容器運行Tomcat訪問端口8080上使用橋接網絡

3:Postgres的容器託管xwiki數據庫,可以在端口5432上使用與xwiki容器相同的橋接網絡訪問

我希望能夠設置nginx來反向代理並加載網址上的xwiki網站,例如http://site-root/xwiki但它無法做到這是它的不一樣橋接網絡上,我得到一個沒有到主機的路由錯誤...

所有主機都使用泊塢窗的主機IP和各集裝箱港口遠程主機訪問...

是不使用我創建XWiki實現和Postgres容器橋接網絡來測試這一點,但XWiki實現Tomcat服務器發生故障的XWiki實現無法找到Postgres的服務器,我得到下面的錯誤爲tomcat的例外:

java.net.UnknownHostException: postgres-db-server 

有沒有去去除對xwiki和postgres容器使用橋接網絡的需要,並使用它們進行通信碼頭工宿主IP和他們各自的端口號碼?

我在想,我可能需要在XWiki實現集裝箱編輯Tomcat的配置,使其指向使用泊塢窗Postgres的服務器主機IP和Postgres的默認端口...

可以在任何一個給定如果這聽起來像是正確的解決方案,或者我缺少一些關於橋接網絡需求的想法,

我知道一個可能的解決方案是將nginx容器設置爲使用相同的橋接網絡,但我也希望nginx服務能夠反向代理運行在docker主機上的node.js服務器...(不是通過搬運工人)

我應該只是containerise節點和運行使用相同的橋接網絡,因爲這在邏輯上應該刪除的問題,但我擔心它可能會導致其他問題了線的所有容器...

Docker主機在Centos 7上運行

用於手動運行cont的命令ainers如下圖所示:

Nginx的

docker run -dti --name nginx-dev --hostname nginx-dev -p 80:80 -v /nginx/www:/usr/share/nginx/html:ro -v /nginx/conf:/etc/nginx -P -d nginx 

的Postgres

docker run --net=xwiki-nw --name postgres-db-server -p 5432:5432 -v /postgres/data:/var/lib/postgresql/data -e POSTGRES_ROOT_PASSWORD=xwiki -e POSTGRES_USER=xwiki -e POSTGRES_PASSWORD=xwiki -e POSTGRES_DB=xwiki -e POSTGRES_INITDB_ARGS="--encoding=UTF8" -d postgres:9.5 

XWiki實現

docker run --net=xwiki-nw --name xwiki -p 8080:8080 -v /xwiki:/usr/local/xwiki -e DB_USER=xwiki -e DB_PASSWORD=xwiki -e DB_DATABASE=xwiki -e DB_HOST=postgres-db-server xwiki:postgres-tomcat 
+0

您是使用docker-compose還是僅手動運行每個容器?如果您使用撰寫,然後張貼該文件。如果你使用容器,然後列出你運行的所有命令 –

+0

@Tarun Lalwani謝謝,我正在更新問題以包括您現在請求的信息 –

+0

@Tarun Lalwani - 我手動運行容器 - 我添加了用於問題 –

回答

1
運行

docker network connect xwiki nginx-dev 

然後你的nginx容器就能找到到其他兩個容器的路由。

相關問題