首先,这在理论上是正确的和可能的吗?假设:我有一个超集的Docker镜像,由几个模块组成: Python、Postgres、超集本身等等。容器运行良好,但我需要将Superset本身从v.1.15升级到v.1.21,同时Python和其他部分都是令人满意的最新版本。如何仅更改/升级映像的超集部分?(因为发布的镜像文件还没有更新)
发布于 2020-08-16 13:47:25
实际上,你可以直接从这个图像中“派生”出来:
FROM amancevice/superset
RUN ...在docs.docker.com: run中,From指令初始化一个新的构建阶段,并为后续指令设置基础映像。
当使用运行时
docker build -t your_new_image .你会得到一个新的图像,其中amancevice/superset是基本图像。shell命令允许您运行升级所需任何RUN命令(请参阅docker.docs: run)
如果你只是想在一个正在运行的容器中升级,你可以通过exec进入它
docker exec -it <your container> bash(或者sh,无论容器使用什么外壳)。
参见docs.docker.com: exec。您可以在您的容器中玩耍,但您的更改仅应用于此容器,不会影响此图像中的新容器。
https://stackoverflow.com/questions/63433448
复制相似问题