[問題] 虛擬環境與 docker 的差異

作者: poiuytrewqq (7oo7)   2021-08-17 11:35:12
大家好,
小弟寫了一段時間的 python 後才意識到虛擬環境,
參考板上之前提問過虛擬環境的重要性後發現虛擬環境滿必要的,
而最近也準備要開始學 docker,
查了一些資料後總結 python 虛擬環境只單獨對 python 處理,docker 是整個 OS 等級,
想請問板上大大們在開發時虛擬環境與 docker 如何做處理,以下是我的問題:
1. 什麼情況下使用 docker ,什麼情況使用虛擬環境就好?(個人想法是如果專案只有用到 python 的話才用虛擬環境)
2. 如果用了 docker 還需要用虛擬環境嗎?
作者: kenduest (小州)   2021-08-17 11:45:00
你用 docker build 自己專屬使用環境的話,傳統virtualenv 等這類必要性就不高,比較是專屬的環境內
作者: TitanEric (泰坦)   2021-08-17 12:30:00
都用 在本地端開發時用虛擬環境 用Docker也是 在安裝package直接從requirements.txt安裝當然你要本地端直接用Docker開發也是可以 但記得要Mount
作者: Hsins (翔)   2021-08-17 15:58:00
如果你用 docker-compose 跑多個 container, 那就是看你怎樣去切分 container 的職責你也可以一個 container 有兩個 Python 服務, 這時候即使在docker 內也需要個別啟用 virtual environment
作者: roccqqck (ccqq)   2021-08-17 22:03:00
很少人會一個image包兩個服務拉
作者: Hsins (翔)   2021-08-17 22:39:00
要看服務的耦合狀況跟通訊方式,官網也有提供單容器多服務的說明,另外也要考慮整體架構
作者: Raymond0710 (雷門)   2021-08-18 02:09:00
通常開發用venv 要部署時docker包成image來跑
作者: ddavid (謊言接線生)   2021-08-20 12:39:00
其實docker跟venv不是二選一的問題,有時候會並用除了開發階段不同以外,Docker本來就有可能包著多個venv來運用,兩者概念都了解才知道最合適的運用例
作者: poiuytrewqq (7oo7)   2021-08-20 14:39:00
了解了,謝謝大家

Links booklink

Contact Us: admin [ a t ] ucptt.com