# Basis-Image FROM python:3.8-slim # Arbeitsverzeichnis setzen WORKDIR /app # Systemabhängigkeiten für Google Chrome installieren RUN apt-get update && apt-get install -y \ wget \ unzip \ gnupg \ ca-certificates \ # Chrome-Bibliotheken libnss3 \ libxss1 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libdbus-1-3 \ libgbm1 \ libgdk-pixbuf2.0-0 \ libgtk-3-0 \ libatspi2.0-0 \ --no-install-recommends && \ rm -rf /var/lib/apt/lists/* # Google Chrome Stable installieren RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \ && apt-get update \ && apt-get install -y google-chrome-stable \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Passenden Chromedriver installieren # Diese Methode ist robust und findet die passende Version dynamisch RUN CHROME_VERSION=$(google-chrome --version | cut -f 3 -d ' ' | cut -d '.' -f 1-3) \ && DRIVER_VERSION=$(wget -qO- "https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.json" | grep -A1 "\"${CHROME_VERSION}\"" | grep "version" | cut -d '"' -f 4) \ && wget -q "https://storage.googleapis.com/chrome-for-testing-public/${DRIVER_VERSION}/linux64/chromedriver-linux64.zip" -O /tmp/chromedriver.zip \ && unzip /tmp/chromedriver.zip -d /usr/local/bin/ \ && mv /usr/local/bin/chromedriver-linux64/chromedriver /usr/local/bin/ \ && rm -rf /tmp/chromedriver.zip /usr/local/bin/chromedriver-linux64 \ && chmod +x /usr/local/bin/chromedriver # Python-Abhängigkeiten installieren COPY app/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Den App-Code in den Container kopieren COPY app/ . # Standard-Befehl zum Ausführen des Skripts CMD ["python3", "scrape_fotograf.py"]