İki Docker Kapsayıcısı ve Azure Dağıtımı

0

Soru

Azure'a dağıtmak istiyorum python komut dosyaları, günün belirli saatlerinde çeşitli web sitelerine karşı bazı otomatik testler yapmak için Selenyum kütüphanesini kullanacaktır.

Docker'ı Azure ile kullanmak istiyorum.

Docker oluşturmak için bir komut dosyası geliştirmek için geçerli bence :

  • 4444 numaralı bağlantı noktasında dinleyen Selenyum bağımsız bir chrome görüntüsü dağıtın.
  • bazı Python görüntüleriyle başka bir kapsayıcı dağıtın ve Python komut dosyalarımı orada CRON ile çalıştırın
  • birbirlerini bilmeyen 2 konteynerim olduğu için, bu 2 konteynerin birbirleriyle konuşabilmesi için bir ağ kurmak için bir docker komutu çalıştırmam gerektiğini düşünüyorum. Bu docker-compose komut dosyasında mı geçiyor?

Söyleyebileceğiniz gibi, tüm bunlar için biraz yeniyim-bu yüzden düşüncem doğru mu yoksa çok mu karmaşık hale getirdim?

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

En iyi cevabı

1

Bence bütün bunlar tek bir kapta yapılabilir. İki şekilde de yapılabilir bence, ama oluştur dosya ağ tanımına ihtiyacım olacağını düşünme konusunda haklısın.

Örnek olarak:

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

Örnek kaynak

2021-11-17 20:50:50

Yani bu bir Selenyum görüntüsü kullanmıyor-aslında Chrome'u ortama yüklüyorsunuz ve oradan python komut dosyalarını çalıştırıyorsunuz (ki bu açıkça ilgili Selenyum içe aktarma ifadelerine sahip)
Vidar

Doğru. Bu, hepsini tek bir kapta çalıştırmak isteseydiniz sahip olabileceğiniz diğer seçenektir. Her iki seçenek de uygulanabilir ve ağ seçeneği endişelerin ayrılmasını sağlayabilir. Sanırım nihayetinde ihtiyacınız olan sürecin dayanıklılığına bağlı; Bunlar yine de bir programda olacak gibi geliyor, bu yüzden bu basitlik için mantıklı olabilir.
pypalms

Diğer dillerde

Bu sayfa diğer dillerde

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