testcontainers-python icon indicating copy to clipboard operation
testcontainers-python copied to clipboard

DockerCompose Example cannot get it to run

Open ryan-WORK opened this issue 3 years ago • 0 comments

My python file:

from testcontainers.compose import DockerCompose
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities

with DockerCompose("/User/person/Projects/Cultivation/tst-containers",
                   compose_file_name=["docker-compose-1.yml",],
                   pull=True) as compose:
    host = compose.get_service_host("hub", 4444)
    port = compose.get_service_port("hub", 4444)
    driver = webdriver.Remote(
        command_executor=("http://{}:{}/wd/hub".format(host,port)),
        desired_capabilities=DesiredCapabilities.CHROME,
    )
    driver.get("http://automation-remarks.com")
    stdout, stderr = compose.get_logs()
    if stderr:
        print("Errors\n:{}".format(stderr))

My docker-compose-1.yml file:

version: '3.3'
services:
  hub:
    image: selenium/hub
    ports:
      - "4444:4444"

  firefox:
    image: selenium/node-firefox
    links:
      - hub 
    depends_on:
      - hub
    expose:
      - "5555"

  chrome:
    image: selenium/node-chrome
    links:
      - hub
    depends_on:
      - hub
    expose:
      - "5555"

The error I am getting is :

(venv) python playground/d-compose-example.py
Pulling hub     ... done
Pulling firefox ... done
Pulling chrome  ... done
Creating network "bit_tor_default" with the default driver
Creating bit_tor_hub_1 ... done
Creating bit_tor_chrome_1  ... done
Creating bit_tor_firefox_1 ... done
HOST 0.0.0.0
PORT 4444
playground/d-compose-example.py:31: DeprecationWarning: desired_capabilities has been deprecated, please pass in an Options object with options kwarg
  driver = webdriver.Remote(
Stopping bit_tor_firefox_1 ... done
Stopping bit_tor_chrome_1  ... done
Stopping bit_tor_hub_1     ... done
Removing bit_tor_firefox_1 ... done
Removing bit_tor_chrome_1  ... done
Removing bit_tor_hub_1     ... done
Removing network bit_tor_default
Traceback (most recent call last):
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 1344, in getresponse
    response.begin()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 276, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "playground/d-compose-example.py", line 31, in <module>
    driver = webdriver.Remote(
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 277, in __init__
    self.start_session(capabilities, browser_profile)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 370, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 433, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/remote_connection.py", line 344, in execute
    return self._request(command_info[0], url, body=data)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/selenium/webdriver/remote/remote_connection.py", line 366, in _request
    response = self._conn.request(method, url, body=body, headers=headers)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/request.py", line 78, in request
    return self.request_encode_body(
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/request.py", line 170, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/poolmanager.py", line 376, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 785, in urlopen
    retries = retries.increment(
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/Users/person/Projects/Cultivation/tst-containers/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 1344, in getresponse
    response.begin()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/http/client.py", line 276, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

Is there something that I am not doing to make this work? All of the other examples I have tried seem to work just fine.

ryan-WORK avatar Jul 09 '22 00:07 ryan-WORK