[英]How to run different python scripts in parallel containers from same image
[英]Docker: run multiple scripts (containers) from the same image
我制作了一個Python項目,其中包含幾個軟件包和依賴於這些軟件包的幾個腳本。 結構看起來像這樣:
app/
package1/
__init__.py
...
package2/
__init__.py
...
script1.py
script2.py
因此,我對應用程序進行了docker化,也就是說,我使用一些Dockerfile制作了映像,其中默認腳本為script1.py:
FROM ...
ADD ...
...
CMD python script1.py
我的問題:從這個單一映像啟動兩個不同的容器(一個運行scrip1,另一個運行script2)是一種好習慣嗎?
docker build -t my_image .
docker run -d -it my_image
docker run -d -it my_image python script2.py
請注意,在我的情況下,script1和script2彼此獨立(它們不通信,可以獨立啟動)。
謝謝你的幫助
Docker 文檔列出了最佳實踐,即“每個容器應該只關注一個問題”。 在您的示例中,聽起來好像您實際上有兩個任務由兩個單獨的Python腳本運行,但打包在同一張圖像中。
理想情況下,您應該避免這種情況,並為兩個任務使用兩個單獨的圖像。 如果兩個腳本共享大量公共依賴項,則可以創建自己的父映像,以將兩個腳本映像作為基礎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.