我是否总是需要重建 docker 才能安装新的 pip 包?

Do I always need to rebuild docker in order to install new pip packages?

我注意到当我尝试使用 docker(主要是图)安装新的 pip 包时,它实际上并没有在系统上维护。我必须从 requirements.txt

重建并安装 pip 包

我尝试运行 fig run web pip install django 并看到包安装,但每次我运行命令时它都会重新安装而不提示升级(所以我知道包安装没有坚持)

难道这只是Docker的继承设计?我很困惑为什么总是需要构建

您应该阅读 Dockerfiles 的文档 https://docs.docker.com/reference/builder

你应该运行

sudo fig build

使用类似于

的 Dockerfile
FROM centos:centos7 # or whatever
RUN yum -y install python-pip
RUN pip install bottle # or whatever  

简而言之,对文件系统的修改不会持续运行容器。您需要构建新映像或使用卷。