簡體   English   中英

Docker:從同一映像運行多個腳本(容器)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM