Python 将自定义模块安装到docker容器中
我有几个服务在自己的Docker容器中运行。在我的项目中,我还有一个Python 将自定义模块安装到docker容器中,python,docker,Python,Docker,我有几个服务在自己的Docker容器中运行。在我的项目中,我还有一个lib文件夹,其中包含所有服务所需的一些小模块 将这些模块包含到Docker容器中的最佳方式是什么?显然,我只使用第三方模块运行pip安装-r requirements.txt,有没有类似的方法可以包含我自己的模块?我建议使用数据容器。当在映像构建和多个容器之间缓存bundler gem时,您可以实现rails人员所做的类似方法: version: '2' services: web: build: . vo
lib
文件夹,其中包含所有服务所需的一些小模块
将这些模块包含到Docker容器中的最佳方式是什么?显然,我只使用第三方模块运行pip安装-r requirements.txt,有没有类似的方法可以包含我自己的模块?我建议使用数据容器。当在映像构建和多个容器之间缓存bundler gem时,您可以实现rails人员所做的类似方法:
version: '2'
services:
web:
build: .
volumes:
- .:/app
- bundle:/bundle
volumes:
bundle: {}
在您的docker compose.yml
(我假设您使用的是docker compose)文件中,您可以添加一个可以装入其他容器的数据容器:
version: '2'
services:
web:
build: .
volumes:
- .:/app
- bundle:/bundle
volumes:
bundle: {}
默认情况下,容器在不存在时创建
我不熟悉pip,但我认为它可以以与bundler类似的方式工作:将pip安装路径设置为数据容器,并获得一个持久层,pip将在其中放置所有模块。当另一个容器需要相同的模块时,只需挂载数据容器
也许你必须解决一些问题,但我认为主要的想法在你的情况下是可行的。我最终通过使用
docker compose
将lib
文件夹装入容器来管理它,如下所示:
version: '2'
services:
frontend_web:
build: .
volumes:
- ../../lib:/app/lib
然后,我只需将/app/lib添加到容器的PYTHONPATH
,就可以从该文件夹导入任何模块