Почему ConnectionError использует python в docker-compose? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть

docker-compose:

version: '3.3'

services:
  bd_mySql:
    image: mysql:5.7     
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_USER: razvan
      MYSQL_PASSWORD: PepitoElDeLosPalotes
      MYSQL_ROOT_PASSWORD: PepitoElDeLosPalotes
      MYSQL_DATABASE: equipojugadores
  api:
    build: data
    restart: always
    ports:
      - "8084:8084"
  python:
    build: python
    restart: on-failure
    depends_on: 
      - api      

dockerfile (python)

FROM python:latest

ADD scraper.py /

RUN pip install BeautifulSoup4
RUN pip install html5lib
RUN pip install requests
RUN pip install lxml

CMD [ "python", "scraper.py" ]

Some of my python code И у меня естьэта ошибка:

request.exceptions.ConnectionError: HTTPConnectionPool (host = 'localhost', port = 8084):

почему?

1 Ответ

1 голос
/ 24 мая 2019

Ваш код scraper.py пытается подключиться к localhost:8004, однако вы поместили службу, которая объявляет порт 8004, в отдельный контейнер.Это похоже на случай, если вы поместили его на отдельную машину, и localhost не достигнет его.Вместо этого вы должны использовать api:8004, который разрешает IP-адрес контейнера api, в который вы помещаете эту услугу.

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