如何使用 docker-compose 更新现有镜像?

2024-03-11

我有多个微服务,并且正在使用 docker-compose 进行开发部署。当微服务代码库发生一些变化时,我会触发 ci 作业来重新部署它们。我有下面的脚本来执行此操作。但每次我都必须从头开始构建所有图像,然后运行它们。完成所有这些操作后,我有anonymous图片。所以我使用最后一个脚本来删除它们。您有什么建议可以让这个过程更加实用?有没有什么方法可以更新现有图像而不用新的更改删除它?

- docker-compose build
- docker-compose down
- docker-compose up -d --force-recreate
- docker rmi $(docker images -f "dangling=true" -q) -f

附加信息:我正在使用gitlab-ci


Docker 容器被设计为短暂的。要更新现有容器,您需要删除旧容器并启动一个新容器。 因此,您所遵循的流程是正确的。

您可以将命令简化为以下命令:

docker-compose up --force-recreate --build -d
docker image prune -f
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 docker-compose 更新现有镜像? 的相关文章

随机推荐

  • 将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生什么情况?

    我正在考虑迁移到 FCM 客户端的事情相当简单 您移动一些代码并完成它 但是 在应用程序服务器上 出于显而易见的原因 我还需要支持较旧的客户端 我需要知道将 GCM 项目迁移到 FCM 时会发生什么 FCM 是否也会自动将消息转发到基于 G
  • 如何从opencv中的图像中删除多余的空白? [复制]

    这个问题在这里已经有答案了 我有以下图像 这是一张收据图像 收据周围有很多空白区域 我想裁剪空白区域 我无法手动裁剪它 所以我正在寻找一种可以做到这一点的方法 剪了一张 从以下帖子中尝试了此代码 如何在 OpenCV 中删除图像中的空白 h
  • PHP 的同步 AMQP

    PHP 能否像 RPC 服务一样对待 AMQP 发送消息并阻塞直到返回回复 是否有任何好的示例 是否有任何库以易于使用的方式包装此类功能 我希望拥有代理消息传递系统的灵活性 但避免 Web 层需要了解其异步性质 当然 绝对 看看 RPC 风
  • Automapper:手动映射属性

    我刚刚开始使用 automapper 来映射 DTO实体 它似乎工作得很好 在某些特殊情况下 我只想映射某些属性并执行额外的检查 如果没有自动映射器 代码如下所示 使用fasterflect的PropertyExtensions objec
  • 显示提交 A 已打开且提交 B 未打开的所有分支?

    我有多个分支 并且发现了一个提交 A 它向系统引入了一个错误 随后 这个问题被其中一个分支上的提交 B 修复并合并回 master 但当时它并没有被挑选到所有有问题的分支 我想知道是否有一个命令可以显示所有有提交 A 但没有提交 B 的违规
  • CodeIgniter DB 会话问题:sess_expire_on_close

    当 CI 的会话存储在数据库中时 我遇到了一个非常奇怪的问题 我使用会话来存储有关用户是否登录我的网站的信息 由于某种原因 我的一个来自立陶宛的朋友 我提到了这个国家 以防它以某种方式相关 无法登录 当我监视会话表时 她似乎正在为她访问的每
  • Ruby 可以与 r 交互吗?

    一位朋友需要为她的博士学位做一些 R 编程 由于我是一名程序员 所以请我帮助她 所以我看了一些r http www r project org related http www programmingr com webstuff http
  • 如何在Spring Boot测试中强制事务提交?

    如何在 Spring Boot 中强制事务提交 使用 Spring Data 运行方法时 and not方法之后 我读过这里应该可以 Transactional propagation Propagation REQUIRES NEW 在另
  • 如何对浮点数和复数进行近似结构模式匹配

    我读过并理解浮点数舍入问题 https docs python org 3 tutorial floatingpoint html例如 gt gt gt sum 0 1 10 1 0 False gt gt gt 1 1 2 2 3 3 F
  • Django - 自定义 403 模板

    我正在尝试在 Django 1 5 中使用我的 403 404 500 自定义模板 404 和 500 工作完美 但 403 仍然向我展示内置的 Django 403 模板 我将所有三个模板都放在项目的根模板目录中 它们被命名为 403 h
  • 无法在使用 Arquillian 和 WildFly 的 JPA 集成测试中注入 EntityManager

    我正在尝试使用以下堆栈进行集成测试 App server Embedded WildFly CDI container Weld Database In memory H2 ORM Hibernate JPA Platform Java 8
  • 哪些 C++ 编译器(如果有)进行尾递归优化?

    在我看来 在 C 和 C 中进行尾递归优化都可以很好地工作 但在调试时我似乎从未看到表明这种优化的帧堆栈 这很好 因为堆栈告诉我递归的深度 不过 优化也会很好 有 C 编译器进行此优化吗 为什么 为什么不 我该如何告诉编译器去做呢 对于 M
  • 我可以通过 JNI 从 Node.js 调用 Java 吗?如何调用?

    我可以通过 Node js 调用 JavaJNI 有例子吗 你应该尝试节点java https github com nearinfinity node javanpm 模块是一个编写良好的 JNI 包装器 Node jave 似乎还没有被
  • Google 地图:自动关闭打开的 InfoWindows?

    在我的网站上 http www uptownelite com test html city dallas tx 我正在使用 Google Maps API v3 在地图上放置房屋标记 除非您明确单击关闭图标 否则 InfoWindows
  • 将 @Embeddable 映射到单独的表中

    两个表如 CREATE TABLE foo id INT PRIMARY KEY x TEXT CREATE TABLE bar foo id INT REFERENCES foo id ON DELETE CASCADE y TEXT z
  • MPI_Send() 和 MPI_Ssend() 之间的区别?

    I know MPI Send 是一个阻塞调用 它会等待直到可以安全地修改应用程序缓冲区以供重用 为了使发送调用同步 应该与接收者握手 我们需要使用MPI Ssend 我想知道两者之间的区别 假设我需要在进程之间发送固定数量的字节 哪一个应
  • 函数式编程中的无限循环?

    我想知道 在函数式编程中可以完成无限循环吗 例子 使用windows API获取windows消息时 通常是循环实现的 我知道可以创建一个无限期递归的函数 我预计这会导致堆栈溢出 对于函数式编程来说 无限循环是错误的思维模式吗 是操作系统接
  • 如何从 JavaScript 中的 URL 获取基域

    我想从 javascript 中的 url 中提取基本域 例如 对于下面列出的网址列表 我需要获取谷歌网站 or google co in视情况而定 作为结果 www google comwww google co inwww images
  • 循环向量(R 中的自省?)或其他方法

    我有一张桌子tf带有列标题的值formant vowel length IL SG 这就是我获取它们的值的方式 f1a lt subset tf tf vowel a tf formant F1 IL f2a lt subset tf tf
  • 如何使用 docker-compose 更新现有镜像?

    我有多个微服务 并且正在使用 docker compose 进行开发部署 当微服务代码库发生一些变化时 我会触发 ci 作业来重新部署它们 我有下面的脚本来执行此操作 但每次我都必须从头开始构建所有图像 然后运行它们 完成所有这些操作后 我