Două Docker Containere și Azur Implementare

0

Problema

Vreau să implementați pentru Azure script python va utiliza Seleniu biblioteca pentru a face unele de testare automată împotriva a diverse website-uri la anumite ore ale zilei.

Vreau să folosesc Docker cu Azure.

Actualul meu de gândire este că trebuie să dezvolte un docher compune script pentru:

  • implementați un Seleniu independent chrome imagine asculta pe portul 4444.
  • implementați un alt recipient cu un Piton de imagine și să-mi Python script-uri acolo care rulează cu CRON
  • pentru că am 2 recipiente care nu știu unul despre celălalt cred că trebuie să rulați un docher de comandă pentru a configura o rețea astfel încât aceste 2 containere pot vorbi unul cu celălalt. Face acest lucru du-te în docker-compune script?

După cum vă pot spune că sunt un pic nou la toate acestea - așa este gândirea mea dreapta sau am făcut-o prea complicat?

cron docker python selenium
2021-11-17 20:43:30
1

Cel mai bun răspuns

1

Cred că toate acestea ar putea fi făcut într-un singur container. Cred că ambele moduri sunt greu de realizat, dar ai dreptate în gândire care compun dosarul va avea nevoie de rețea definiție.

Ca un exemplu:

FROM python:3.8

COPY . /app
WORKDIR /app

RUN mkdir __logger

# install google chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
RUN apt-get -y update
RUN apt-get install -y google-chrome-stable

# install chromedriver
RUN apt-get install -yqq unzip
RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip
RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/

# set display port to avoid crash
ENV DISPLAY=:99

RUN pip install --upgrade pip

RUN pip install -r requirements.txt

CMD ["python", "./app.py"]

Exemplu sursa

2021-11-17 20:50:50

Deci, acest lucru nu este folosind un Seleniu imagine perse - tu ești, de fapt, instalarea Chrome în mediu și apoi rulează python script-uri de acolo (care, evident, trebuie relevante Seleniu declarații de import etc.)
Vidar

Corect. Aceasta este doar o altă opțiune ar fi dacă ai vrut pentru a rula pe toate într-un singur container. Ambele opțiuni sunt fezabile, și opțiunea de rețea ar putea oferi o separare de preocupări. Cred că în cele din urmă, este de până la rezistența procesul de care aveți nevoie în cele din urmă; Se pare ca acestea vor fi pe un program oricum, deci s-ar putea face sens pentru simplitate.
pypalms

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................