Chr*_*ell 7 docker docker-compose
我正在尝试创建一个新的Docker镜像,该镜像不再使用来自正在使用图像的正在运行的容器中的卷.卷是使用docker-compose文件而不是Dockerfile创建的.问题是,当我通过新的docker-compose.yml文件启动一个新容器时,它仍然有映射的卷.我仍然需要保留这些卷和使用它们的原始容器/图像.此外,如果可能,我想继续使用相同的泊坞窗图像,只需添加新版本,或:最新.这是我使用的步骤:
现有图像的新版本:
docker commit <image id> existingImage:new-version
Run Code Online (Sandbox Code Playgroud)
从当前运行的容器创建一个新图像:
docker commit <Image ID> newimage
Run Code Online (Sandbox Code Playgroud)
创建没有定义卷的新docker-compose.yml,并使用不同的项目名称运行docker-compose
docker-compose -p <new project name>
Run Code Online (Sandbox Code Playgroud)
在没有docker-compose的情况下运行,只需使用docker run:
docker run -d -p 8093:80 <img>:<version>
Run Code Online (Sandbox Code Playgroud)
每当我运行这些卷的任何组合时,仍然会从原始图像映射卷.所以我的问题是,如何从曾经映射过卷的图像创建一个容器,但我不想再使用这些卷?
编辑: 我尝试过的其他内容:
编辑2: 决定重新开始图像.使用基本映像,启动了一个容器,其中包含使用现在不相关图像的更新的docker compose文件.润泊坞窗,构成了-f -d - >还有甚至映射这些相同的体积虽然图像不会(和从来没有)的任何卷映射,以及当前泊坞窗,compose.yml文件不映射文件.看起来像docker-compose缓存为项目映射的卷.
在docker-compose中搜索缓存选项后,我遇到了这篇文章:如何让docker-compose始终从新图像重新创建容器? 这似乎解决了缓存图像而不是容器缓存卷的问题
| 归档时间: |
|
| 查看次数: |
3253 次 |
| 最近记录: |