[问题] 虚拟环境与 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