【发布时间】:2021-04-05 01:50:58
【问题描述】:
我想控制和监控安装在容器上的自定义 python 包的版本。这是为了在将新的自定义 python 包部署到更高风险或生产容器之前,将它们以可控的增量方式发布到低风险或测试容器中。
例如,我可能想用新的 Python 包迭代更新一小部分容器,直到所有容器都更新完毕。
在不知道有什么实用工具可以为我做这件事的情况下,我有一个想法可以解释我想要完成的一些事情-
我能想到的最好的办法是在构建映像期间将 Python 包版本作为参数,将这些版本传递给 Dockerfile 中的 pip,然后将这些版本注册到一个文本文件(例如 MYPACKAGES.json)中镜像作为 Dockerfile 的最后一步。这允许我在我的所有容器中运行一个命令 (cat MYPACKAGES.json),以从正在运行的容器中打印所有这些 Python 包版本,并选择需要和应该升级哪些版本。
有没有更简洁的方法可以使用现有的实用程序来做到这一点?
【问题讨论】:
-
你是如何安装 Python 包的?例如,您可以使用“点子列表”
-
它在 Dockerfile 中有一个私有 repo 和非系统版本的 Python,例如运行 pip3.8 install --extra-index-url 192.168.0.11:${PIP_REPO_PORT_FOR_THIS_RELEASE_STAGE} --trusted-host 192.168.0.11 my_package==${MY_PACKAGE_VERSION}
标签: docker kubernetes pip docker-swarm