Я пытаюсь запустить python selenium в docker-compose.У меня есть следующие файлы:
docker-compose.yml:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
depends_on:
- chrome
ports:
- '8443:8443'
chrome:
image: selenium/node-chrome:3.14.0-gallium
volumes:
- /dev/shm:/dev/shm
depends_on:
- hub
environment:
HUB_HOST: hub
hub:
image: selenium/hub:3.14.0-gallium
ports:
- "4444:4444"
Dockerfile:
FROM python:latest
COPY test.py /code/test.py
WORKDIR /code
RUN pip install --upgrade pip
RUN pip install pytest
RUN pip install pytest-asyncio
RUN pip install selenium
test.py:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(
command_executor='http://hub:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME,
)
print(driver)
Я запускаю:
docker-compose build
docker-compose run python test.py
При попытке создать веб-драйвер я получаю сообщение об ошибке отказа в соединении в test.py.
'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ffb3b34d550>: Failed to establish a new connection: [Errno 111] Connection refused')'
Просмотр журналов, концентратора иДрайвер Chrome, кажется, работает и работает, а драйвер Chrome подключен к концентратору.Я могу пинговать хаб и хромированные контейнеры из приложения.Есть идеи?