Нет соединения между моим Flask Container и Ganache Container - PullRequest
1 голос
/ 08 июня 2019

Я хочу подключить свой контейнер Flask Docker к контейнеру Ganache Docker.Контейнер Ganache работает без проблем.Я подключаю приложение Flask локально к контейнеру Ganache, все работает.Но если я использую свой Flask Container, приложение не сможет подключиться к Ganache Container.

Мой файл 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'

Мой Dockerfile для приложения Flask:

FROM python:3.7

WORKDIR /test
ADD test /test

EXPOSE 5000

RUN pip install -r requirements.txt

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

С помощью следующей команды я вызываю контейнер Ganache в приложении Flask.

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

Я выполняю приложение `docker-compose up.Я получаю следующее сообщение об ошибке

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

Может быть, кто-нибудь может помочь мне с этой проблемой.

Большое спасибо.

1 Ответ

1 голос
/ 08 июня 2019

Изменение:

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

до:

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

Когда вы настраиваете контейнеры из compose, они все подключаются к сети по умолчанию, созданной compose. blockchain в этом случае является DNS-именем контейнера blockchain и будет автоматически преобразовано в IP-адрес контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...