Özgür hocam merhaba, Öncelikle bu kurs için ve bu konuda ufkumun açılmasına vesile oldunuz için teşekkür ederim.
Üzerinde çalıştığım bir proje ile ilgili fikrinize ihtiyacım var. Bu konu ile ilgili detaylı görüşmek isterim, bir fikir oluşması adına projeden bahsetmek istiyorum. Bir web sayfasında pdf indirmesi yapan bir python scripti’m var ve bu script’i docker üzerinden çalıştırmak istiyorum. Single container olarak çalışmasında denemeler yaptım ve bir sonuca ulaştım ancak ben bu işlemleri birden fazla kez çalıştırabilecek şekilde, yani her gelen tetik(script komutu) için ayrı bir container oluşturup komutu çalıştırıp sonrasında işi bitince silinsin şeklinde bir yapı istiyorum kabaca. Aslında single container tarafında bu kısımda da sıkıntı yok. Ben bu yapıyı swarm üzerinde otomatizm olarak yapılandırmak istiyorum (ki nodel’er üzerinde replicas rod-balance işleri de o hale gelsin). Bunu için bir hazırladığım bir imajım ve docker cli da bir komut var fikir vermesi açısından bunu da paylaşmak isterim;
- docker container run --rm --name 179 webscrp:local python3 /home/apps/webscrp/web_scraping.py -a 179 -p premiumsim
buradaki 179 client id ye denk geliyor, aynı anda birden fazla client’ın bu işlemi gerçekleştirme durumu var (hatta aynı anda 100 veya üzeri client kendi id leri ile aynı script’i başlatabilir). Ben şu andaki durumda her gelen işlem için bu docker komutunu türeterek bu işlemi gerçekleştiriyorum.
:~# docker container run --rm --name 179 webscrp:local python3 /home/apps/webscrp/web_scraping.py -a 179 -p premiumsim
:~# docker container run --rm --name 191 webscrp:local python3 /home/apps/webscrp/web_scraping.py -a 191 -p premiumsim
:~# docker container run --rm --name 186 webscrp:local python3 /home/apps/webscrp/web_scraping.py -a 186 -p dhl
şeklinde…
Bunu swarm üzerinde nasıl kurgulamak daha mantıklı olur o kısımda biraz tıkandım açıkçası.
Bir durum da komut tetiklenince indirilen pdf dosyalarını sunucu da belirli bir yere göndermek yada kopyalamak istiyorum( host:~# /tempstorage/scrap/10/179 ). Bind-monts ile bazı sıkıntılar çıkıyor (container kapanıp kendini silince bir sonraki client işlemi başlattığnda, bir önceki client’in işleminden türetilen klasörü siliniyor) COPY komutunu kullanmak daha mantıklı olabilir mi sizce bu durumda?