所以,我在一个特殊的情况下,我试图找到一个干净的解决办法。在
目前我们有18个不同的回购,所有这些都是用python部署工具用venv复制和粘贴18次。。。对我来说这太恶心了。在
我希望将这些实用程序放入某种“工具”docker映像中,并在需要的地方执行它们,而不是让每个文件夹安装所有依赖项18次。在
/devtools/venv
/user-service/code
/data-service/code
/proxy-service/code
/admin-service/code
最后,我希望CD到用户服务中,并运行一个类似于docker run tools version_update.py
的命令,让docker映像挂载用户服务的代码并对其运行脚本。在
我该怎么做,还有没有更好的方法我看不到?在
为什么使用docker?在
我建议您将脚本放在服务旁边的“tools”目录中(或者您认为合适的地方),然后您可以cd到您的服务目录中并运行
python ../tools/version_update.py
。在这取决于你的docker形象,但这里是基本概念。在
在docker映像中,假设我们有一个
/code
目录,我们将在其中装载我们要处理的源代码,以及一个包含所有脚本的/tools
目录。在然后,我们可以把我们想要的任何目录挂载到docker映像中的
/code
目录中,然后运行我们想要的任何脚本。容器内的工作目录将被设置为/code
,路径中也将有/tools
。因此,使用您的示例,docker run命令如下所示。在这将运行
tools
docker映像,将本地/user-service/code
目录挂载到容器中的/code
目录,然后在该代码上运行version_update.py
脚本。然后离开。在同一个映像也可以用于所有其他项目,只需更改装载点。(假设它们都有相同的结构)
^{pr2}$如果你想运行一个不同的工具,只需更改你传入的命令。在
相关问题 更多 >
编程相关推荐