Oba kontenery Docker i wdrożenie systemu Azure

0

Pytanie

Chcę wdrożyć w Azure skrypty pythona, które będą korzystać z biblioteki Selenium do automatycznego testowania różnych stron internetowych w określonych godzinach dnia.

Chcę użyć docker z systemu Azure.

Moje dzisiejsze myślenie polega na tym, że muszę opracować scenariusz tworzenia nudziarz z niego, co do:

  • rozwiń samodzielny obraz chrome Selenium, port nasłuchiwania 4444.
  • rozwiń inny pojemnik z pewnym obrazem, Python, i moje skrypty Python zostaną uruchomione za pomocą CRON
  • ponieważ mam 2 pojemniki, które nie wiedzą o sobie nawzajem, myślę, że muszę uruchomić polecenie docker do konfiguracji sieci, aby te 2 kontenera mogli komunikować się ze sobą. Czy to w scenariusz tworzenia nudziarz z niego, co?

Jak można powiedzieć, że jestem trochę początkujący w tym wszystkim - tak czy myślę, czy zrobiłem to zbyt skomplikowane?

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

Najlepsza odpowiedź

1

Myślę, że to wszystko można było zrobić w jednym pojemniku. Myślę, że oba sposoby wykonania, ale masz rację, myśląc, że aby utworzyć plik należy definicja sieci.

Jako przykład:

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

Przykład źródła

2021-11-17 20:50:50

W ten sposób, to nie wykorzystuje perse obrazu Selenium - rzeczywiście zainstalować Chrome w środę, a następnie uruchomić stamtąd skrypty python (które, oczywiście, jest odpowiednie instrukcje importu Selenium itp.)
Vidar

Prawidłowy. To jest po prostu inny wariant, który u ciebie był, gdyby chcesz uruchomić to wszystko w jednym pojemniku. Oba warianty do zrealizowania, i sieciowy opcja może zapewnić oddzielenie problemów. Myślę, że ostatecznie to zależy od stabilności procesu, w którym trzeba w końcu; Wygląda na to, że w każdym przypadku będą w określonych godzinach), więc to może mieć sens dla uproszczenia.
pypalms

W innych językach

Ta strona jest w innych językach

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