亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Docker 容器到容器連接:連接被拒絕

Docker 容器到容器連接:連接被拒絕

Go
楊魅力 2023-07-26 20:03:37
當所有內容都在 docker 外部獨立運行時,當核心嘗試從 cerner 獲取數據時,它可以正常工作。但是,當所有內容都進行了 dockerized 時,執行相同的操作,如下所示:獲取http://cerner:8602/api/v1/patent/search:撥打 TCP 192.168.240.4:8602: connect: 連接被拒絕。.4是cerner容器的IP,.2是core容器的IPCerner 是從核心調用的容器的名稱。如果我將名稱更改為主機服務器的 IP 地址并使用端口,它也可以正常工作。它只是不允許容器之間使用容器 DNS 或 IP。我嘗試過使用和不使用專用網絡并得到相同的結果。容器都是從頭開始的。version: '3.7'services:    caConnector:      image: vertisoft/ca_connector:latest      ports:        - "8601:7001"      env_file:        - .env.ca_connector      networks:        - core-net   fhir:      image: vertisoft/fhir_connector:latest      container_name: cerner      ports:        - "8602:7002"      env_file:        - .env.fhir_connector      networks:        - core-net   core:      image: vertisoft/core:latest      ports:        - "8600:7000"      env_file:        - .env.core      networks:        - core-netnetworks:   core-net:    driver: bridge
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

您應該使用 來調用容器服務containerPort,而不是使用服務到服務通信中的 hostPort 來調用。在您的情況下,任何容器都應該7000 to 7002使用容器名稱進行連接。

獲取http://cerner:8602/api/v1/patent/search:撥打 TCP 192.168.240.4:8602: connect: 連接被拒絕。

正如錯誤中所示,它嘗試使用發布端口進行連接。

例如

version: "3"

services:

? web:

? ? build: .

? ? ports:

? ? ? - "8000:8000"

? db:

? ? image: postgres

? ? ports:

? ? ? - "8001:5432"

當您運行 docker-compose up 時,會發生以下情況:


創建一個名為 myapp_default 的網絡。


容器是使用 web 的配置創建的。它以 web 名稱加入網絡 myapp_default。使用數據庫的配置創建容器。它以 db 名稱加入網絡 myapp_default。


在 v2.1+ 中,覆蓋網絡始終是可連接的


每個容器現在可以查找主機名 web 或 db 并獲取適當容器的 IP 地址。例如,Web 的應用程序代碼可以連接到 URL postgres://db:5432 并開始使用 Postgres 數據庫。


請務必注意HOST_PORT 和 CONTAINER_PORT 之間的區別。在上面的示例中,對于 db,HOST_PORT是8001,容器端口是5432(postgres 默認值)。網絡服務到服務通信使用CONTAINER_PORT。定義 HOST_PORT 后,也可以在 swarm 外部訪問該服務。


在 Web 容器中,到 db 的連接字符串將類似于postgres://db:5432,而在主機上,連接字符串將類似于postgres://{DOCKER_IP}:8001。


查看完整回答
反對 回復 2023-07-26
  • 1 回答
  • 0 關注
  • 484 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號