Docker Örneği

Bu sayfa, aşağıdaki amaçları gerçekleştiren minimal ve pratik bir Docker kurulumu adımlarını anlatır:

  1. Bir .pmod senaryosunu CPU konteyneri içinde çalıştırmak

  2. Çıktı dosyalarını host makinenizden bağlanan bir klasöre yazmak

Örnek klasör:

docker/augelab_docker_mount_example_cpu/


Neler elde edersiniz

  • Başsız (headless) bir Python betiği çalıştıran bir Dockerfile

  • Host klasörünü konteyner içinde /app/app_output olarak bağlayan bir docker-compose.yml

  • Çalıştırmaya hazır bir örnek .pmod (save_image_no_args.pmod)


Örnek klasördeki dosyalar

docker/augelab_docker_mount_example_cpu/ içinde:

  • docker-compose.yml — imajı oluşturur ve host klasörünü bağlar

  • app/Dockerfile — bir AugeLab Studio CPU base image kullanır ve bir Python betiği çalıştırır

  • app/file_save.py.pmod dosyasını yükler ve çalıştırır

  • app/save_image_no_args.pmod — örnek senaryo


Adım adım

1) Host üzerinde bir çıktı klasörü seçin

Konteynerin dosya yazmasına izin verdiğiniz bir klasör seçin (veya oluşturun).

Örnekler:

  • Windows: C:/work/augelab_output

  • Linux/macOS: /home/<user>/augelab_output


2) docker-compose.yml içindeki volume eşlemeyi güncelleyin

docker/augelab_docker_mount_example_cpu/docker-compose.yml dosyasını açın ve volume satırını değiştirin:

Alternatif olarak, taşınabilir projeler için göreli bir klasör kullanabilirsiniz (önerilir):

Uyarı: Windows'ta Docker, C:/... gibi ileri eğik çizgi (forward slash) içeren yollar bekler. Geri eğik çizgi (backslash) kullanmaktan kaçının.


3) Lisans (verification code veya lisans dosyası) sağlaması

Scriptiniz StudioScenario oluştururken bir verification_code iletmelidir.

Önerilen seçenekler:

Seçenek A (önerilen): ortam değişkeni kullanma

Bir ortam değişkeni (environment variable) aktarın ve Python kodunuzda okuyun.

docker-compose.yml içine ekleyin:

Ardından betikte kullanın:

Seçenek B: bir lisans dosyasını bağlayıp yolunu geçme

Lisans dosyanızı konteyner içine mount edin ve verification_code olarak konteyner yolunu verin.

Örnek snippet:


4) Build ve çalıştırma

docker-compose.yml dosyasının bulunduğu klasörden:

Konteyner çıktısında logları ve senaryo çalıştırma sonucunu görmelisiniz.


5) Host üzerindeki çıktı klasörünü doğrulayın

Konteyner içine bağladığınız host klasörünü (/app/app_output ile eşlediğiniz klasör) kontrol edin.

Eğer .pmod senaryonuz bu çıktı yoluna dosya (görüntü, rapor vb.) yazıyorsa, dosyaların host üzerinde hemen görünmesi gerekir.

Bilgi: Hostta dosyaları göremiyorsanız, .pmod dosyanızın gerçekten /app/app_output içine yazdığından emin olun veya bağlama noktalarını senaryonuza göre düzenleyin.

Last updated