Due Contenitori Docker e Azure Distribuzione

0

Domanda

Voglio distribuire Azure python script per utilizzare il Selenio libreria per fare un po di test automatizzato contro i vari siti web, in determinate ore del giorno.

Voglio usare il Mobile con Azure.

Il mio pensiero attuale è che devo sviluppare un pannello comporre script:

  • distribuire una Selenio autonomo chrome immagine in ascolto sulla porta 4444.
  • distribuire un altro contenitore con alcuni Python immagine e il mio script Python in là in esecuzione con CRON
  • perché ho 2 contenitori non sappiamo l'uno dell'altro, io credo di avere per l'esecuzione di un pannello di comando per configurare una rete in modo da questi 2 contenitori possono parlare tra di loro. Fa andare nella finestra mobile-comporre script?

Come si può dire io sono un po ' a tutti questo è il mio pensiero giusto o ho reso troppo complicato?

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

Migliore risposta

1

Penso che tutto questo potrebbe essere fatto in un unico contenitore. Penso che entrambi i percorsi sono fattibili, ma hai ragione nel pensare che la compongono file sarà necessario, la definizione di rete.

Come esempio:

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"]

Sorgente di esempio

2021-11-17 20:50:50

Quindi questo non è usare una Selenio immagine perse - sei in realtà l'installazione di Chrome nell'ambiente e quindi l'esecuzione di script python da lì (che, ovviamente, sono pertinenti Selenio di importazione, dichiarazioni, ecc)
Vidar

Corretto. Questo è solo l'altra opzione che si avrebbe se si desidera eseguire il tutto in un unico contenitore. Entrambe le opzioni sono possibili, e l'opzione di rete potrebbe fornire una separazione delle preoccupazioni. Credo che, in definitiva, è la capacità di tenuta del processo di cui avete bisogno in fine; sembra Che questi saranno in base a una pianificazione comunque, quindi questo può avere un senso per la semplicità.
pypalms

In altre lingue

Questa pagina è in altre lingue

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