要在Docker上交付并避免累积图像,必须做些什么?
我使用Docker来执行我创建的网站。 当发布必须交付时,我必须构建一个新的Docker映像并从中启动一个新容器 问题是图像和容器正在积累并占用巨大的空间。 除了交付之外,我还需要停止正在运行的容器并删除它和源映像 我不需要Docker命令行,但需要一个清单或一个过程来避免忘记任何事情 例如: -停止运行集装箱 -删除停止的容器 -删除旧图像 -树立新形象 -启动新容器 我错过什么了吗? 我不习惯Docker,也许这个非常经典的用例有一些最佳实践?您应该使用:要在Docker上交付并避免累积图像,必须做些什么?,docker,release,Docker,Release,我使用Docker来执行我创建的网站。 当发布必须交付时,我必须构建一个新的Docker映像并从中启动一个新容器 问题是图像和容器正在积累并占用巨大的空间。 除了交付之外,我还需要停止正在运行的容器并删除它和源映像 我不需要Docker命令行,但需要一个清单或一个过程来避免忘记任何事情 例如: -停止运行集装箱 -删除停止的容器 -删除旧图像 -树立新形象 -启动新容器 我错过什么了吗? 我不习惯Docker,也许这个非常经典的用例有一些最佳实践?您应该使用: docker system df
docker system df
调查docker使用的空间
之后你可以使用
docker system prune -a --volumes
删除未使用的组件。容器在执行此操作之前,您应该自己阻止它们,但这样您可以确保涵盖所有内容。适合我的本地工作流是:
brew
或apt get
步骤。让我所有的pytest/junit/rspec/jest/。。。测试通过了docker构建一个新图像
docker stop&&docker rm
旧集装箱docker运行一个新容器
docker系统将进行修剪
Docker Compose up--build
替换中间的步骤集
在生产环境中,顺序略有不同:
docker build&&docker push
一个新映像。映像具有唯一的标记,可以是时间戳或源代码管理提交ID或版本标记docker system prune