docker-composeによるPython + Selenium環境
docker-compose.yml
#!yamlversion: '3.8'services:app:build: ./app/entrypoint: [ "wait-for-it", "selenium:4444", "--", "python3", "/code/main.py" ]volumes:- ./work:/workenvironment:SELENIUM_URL: http://selenium:4444/wd/hubdepends_on:- seleniumselenium:image: selenium/standalone-chromevolumes:- /dev/shm:/dev/shm
app/Dockerfile
#!dockerfileFROM python:3WORKDIR /workRUN apt update && apt install -y \wait-for-itADD requirements.txt /tmp/RUN pip3 install -r /tmp/requirements.txtADD code/ /code
app/requirements.txt
#!requirementsrequests >= 2.24.0
app/code/main.py
#!pythonfrom selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesselenium_url = os.environ['SELENIUM_URL']website_url: str = Nonedriver = webdriver.Remote(command_executor=selenium_url,desired_capabilities=DesiredCapabilities.CHROME,)driver.get(website_url)