Reputation: 31
i need run my script in docker container
version: "3"
services:
chrome:
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210823
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
ports:
- "6900:5900"
selenium-hub:
image: selenium/hub:4.0.0-rc-1-prerelease-20210823
container_name: selenium-hub
ports:
- "4444:4444"
app:
build:
context: .
volumes:
- . :/home/saimon/
network_mode: "host"
depends_on:
- selenium-hub
- chrome
command:
python3 app.py
environment:
- SELENIUM_REMOTE_HOST=selenium-hub
in my app i:
driver = webdriver.Remote(command_executor='http://selenium-hub:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME, options=self.chrome_options)
i make: docker-compose build
sudo docker-compose run --rm app or docker-compose -f docker-compose.yml up
and show this error:
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='selenium-hub', port=4444): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa7f86b3700>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
Upvotes: 3
Views: 2324
Reputation: 191821
Remove network_mode: "host"
if you want to be able to connect to http://selenium-hub:4444
from the app container
You should also try using the env-var
import os
host = os.environ['SELENIUM_REMOTE_HOST']
driver = webdriver.Remote(command_executor='http://{}:4444/wd/hub'.format(host),
...
Upvotes: 0