gpt4 book ai didi

python - 我的 Flask 容器和 Ganache 容器之间没有连接

转载 作者:行者123 更新时间:2023-12-01 07:44:57 26 4
gpt4 key购买 nike

我想将 Flask Docker 容器连接到 Ganache Docker 容器。 Ganache 容器工作没有问题。我将 Flask 应用程序本地连接到 Ganache 容器,一切正常。但如果我使用 Flask 容器,应用程序无法连接到 Ganache 容器。

我的 docker-compose 文件:

version: "3"
services:
app:
image: flask-api
build:
context: .
dockerfile: Dockerfile-flask-api
ports:
- '5000:5000'
volumes:
- ./app:/app
depends_on:
- blockchain
blockchain:
image: trufflesuite/ganache-cli:latest
ports:
- '8545:8545'

我的 Flask 应用程序的 Dockerfile:

FROM python:3.7

WORKDIR /test
ADD test /test

EXPOSE 5000

RUN pip install -r requirements.txt

ENTRYPOINT ["python", "app.py"]

通过以下命令,我在 Flask 应用程序中调用 Ganache 容器

web3 = Web3(HTTPProvider("http://0.0.0.0:8545"))

我通过`docker-compose up执行应用程序。我收到以下错误消息

ConnectionError: HTTPConnectionPool(host='0.0.0.0', port=8545)

也许有人可以帮我解决这个问题。

非常感谢。

最佳答案

更改:

web3 = Web3(HTTPProvider("http://0.0.0.0:8545"))

至:

web3 = Web3(HTTPProvider("http://blockchain:8545"))

当您从 compose 设置容器时,它们都连接到 compose 创建的默认网络。在本例中,blockchainblockchain 容器的 DNS 名称,并将自动解析为容器 IP。

关于python - 我的 Flask 容器和 Ganache 容器之间没有连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56506935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com