如何分离运行容器并在退出时自动删除它们?

2024-04-22

Why are -d and --rmDocker 中的争论有冲突吗?

$ docker run -d --rm image
Conflicting options: --rm and -d

我有许多运行单元/功能/集成测试的容器。 Docker 容器启动、运行测试,然后停止。我将它们分开运行,因为我只关心结果,但我也希望在容器退出后删除容器。这样做的好方法是什么?


目前(Docker v1.1.1)不支持此功能。 该开发商的--rm特征解释了他的原因PR #1589 https://github.com/dotcloud/docker/pull/1589:

目前仅在未提供 -d 时才支持。自动删除通过 docker run -d 创建的容器是没有意义的。以这种方式实现的原因有两个:1)我们可能希望在删除容器之前检索某种退出状态或日志2)在当前架构中使其在服务器端运行很困难。

好消息是已经有人开了解决这个问题的问题 https://github.com/dotcloud/docker/issues/6003,所以您可以关注那里的讨论。

此外,解决方法并不太复杂,您可以使用包装器脚本运行容器,如下所示:

ID=$(docker run -d ubuntu sleep 3)
docker wait $ID
docker rm $ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何分离运行容器并在退出时自动删除它们? 的相关文章

  • Docker 未知标志 --mount

    我想使用 mount 将目录从主机挂载到容器flag over volume但我得到 这仅在使用安装标志时才会出现 而不是在使用卷时出现 Command docker run d it name devtest mount type bin
  • 来自 alpine 软件包存储库的 Numpy 无法导入 c 扩展

    我正在制作一个需要 pandas 和 numpy 的 docker 映像 但通过 pip 安装大约需要 20 分钟 这对于我的用例来说太长了 然后我选择从 alpine 软件包存储库安装 pandas 和 numpy 但似乎无法正确导入 n
  • 如何获取 docker run -i 的输出

    docker run通常返回其运行的命令的输出 我需要将一些数据传递给 docker 运行处理数据的命令 然后返回输出 当我使用 i选项 不返回任何输出 考虑这个简单的例子 echo hello docker run i base wc 它
  • Docker - Spring Boot 应用程序 - 无法访问本地主机上的 MySql 服务器

    如何将在 Docker 中运行的 Spring Boot JAR 应用程序连接到我计算机上的 MySql 服务器 我尝试了不同的帖子 但这没有帮助 在我的 Spring Boot application properties 中 我有 sp
  • 为什么 docker-compose ps 与 docker ps 不同?

    为什么 docker compose 创建的容器只能从 docker compose ps 访问 并且在杀死正在运行的容器后仍然存在 事实并非如此 docker ps只显示正在运行的容器 docker compose ps显示与当前撰写文件
  • 如何访问docker镜像?

    我试图在不运行的情况下访问 docker 映像 我只想知道它包含什么内容以进行验证 我无法 ssh 进入容器 因为它会在一秒钟内结束 所以我需要探索图像而不是容器 或者 在完成之前是否可以访问容器 明白了 命令如下 docker run i
  • Docker 中的 Keycloak“无法将代码转换为令牌”

    我正在 Docker compose 网络中运行 Keycloak keycloak Security Proxy 和 ui 应用程序 当我尝试访问该网页时 我得到一个可以使用的登录页面 但我没有成功重定向 而是收到以下错误 gt Aug
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器
  • 是否可以对不同的服务使用不同的 .env?

    我遇到一种情况 最好有多个 env 文件 每个 env 文件对应 docker compose yml 中的每个服务 有什么方法可以指定要使用的不同文件名吗 这可以在个人服务层面上做到吗 我尝试使用env file不幸的是 这设置了在 Do
  • PhpStorm Docker PHPUnit 数据库

    I setup https blog jetbrains com phpstorm 2016 11 docker remote interpreters PhpStorm PHP PHPUnit 与 Docker 我在 PhpStorm 数
  • 当 docker 处于分离状态或前台时,日志不会发送到 AWS Cloudwatch

    当我以交互模式运行 docker 脚本时 它可以工作 我可以在控制台和 AWS CloudWatch Logs 中查看日志 下面的 docker 脚本以交互模式运行 我添加了 awslogs 配置 以便日志进入 cloudwatch doc
  • 在azure应用程序服务中使用docker-compose

    我的平均堆栈代码在 docker compose 配置中工作 如果我跑docker compose up在我的电脑上 然后我可以成功登录我的应用程序localhost如果转到应用程序服务并单击 docker compose 预览选项并上传我
  • 如何在多个端口上运行 FastAPI 应用程序?

    我有一个 FastAPI 应用程序 正在使用 Uvicorn 以编程方式在端口 30000 上运行 现在我也想在端口 8443 上运行相同的应用程序 相同的应用程序需要在这两个端口上运行 我怎样才能在Python代码中做到这一点 最小可重现
  • 从 Dockerfile 写入 docker 卷不起作用

    请考虑以下 Dockerfile FROM phusion baseimage VOLUME data RUN touch data HELLO RUN ls ls data 问题 data 目录不包含 HELLO 文件 此外 任何其他写入
  • 使用 Fig 时,为什么我的卷有时无法安装到 Docker 容器中?

    我在 Docker Fig 环境中看到一个奇怪的问题 我的假设是 这是由于将卷安装到容器的延迟造成的 但我不确定如何确认这一点 我有一个包含以下内容的容器 Dockerfile FROM busybox MAINTAINER Dan Rum
  • “docker compose up”永远挂起(通常),即使使用 V2,尽管熵很高(Ubuntu)

    我遇到了问题docker compose up命令 因此 我最近创建了一个全新的 Ubuntu 操作系统安装 并且一直在设置我的开发环境 我已经安装了 Docker 并mostly一切似乎都运转良好 启动单个容器按预期工作 例如 docke
  • 在docker镜像中运行多个脚本

    您好 我想知道是否可以在 docker 容器启动时自动同时运行两个脚本 第一个脚本必须运行客户端应用程序 第二个脚本必须运行服务器应用程序作为后台 You can use CMD在你的Dockerfile https docs docker
  • mysql_upgrade 失败 - innodb 表不存在?

    我正在将 mysql 5 5 docker 容器数据库升级到 mysql 5 6 docker 容器 我能够解决所有其他问题 最后我的服务器运行的是 5 6 但是当我运行 mysql upgrade 时出现以下错误 ERROR root 1
  • 如何在 Docker for Windows 中设置共享驱动器?

    如何在 Docker for Windows 中设置共享驱动器 我正在使用最新版本 18 Stable 和 Edge 我的设置屏幕如下所示 它缺少一些选项 如共享驱动器 高级和网络 如第二张图片所示 为什么我缺少这些选项 My settin
  • 在 WSL 实例之间共享 Docker 守护进程

    关于在没有 Docker Desktop 的情况下从 WSL 中运行 Docker 有一篇综合文章here https dev to bowmanjd install docker on windows wsl without docker

随机推荐

  • 在 Android 中将数据从 Activity 发送到 Fragment

    我有两节课 第一个是活动 第二个是我有一些的片段EditText 在活动中 我有一个带有异步任务和方法的子类doInBackground我得到一些结果 并将其保存到变量中 如何将此变量从子类 我的活动 发送到此片段 从 Activity 中
  • 从 parse.com 获取 objectId

    所以我正在构建一个使用 parse 作为后端的应用程序 我以前写过自己的 但我想我会节省一些时间并使用解析 我正在使用解析中的数据填充表视图 这很好 我想从解析数组构建的字典中获取 objectId 我的数组的输出如下
  • 漏洞! “语义分析”阶段的异常

    我有一个使用 Gradle 1 10 和 jdk1 8 的 1 1 7 spring boot 应用程序 我使用 Groovy Spock 进行测试它有两个依赖项 使用 Apache Maven 3 1 1 和 jdk 1 8 构建的 ja
  • 每个配置文件中的部分只能出现一次!为什么?

    我收到以下异常 每个配置文件中的部分只能出现一次 有关例外情况 请参阅帮助主题 我的配置文件看起来像这样
  • Sass - 安装错误[重复]

    这个问题在这里已经有答案了 我最近安装了 Ruby gem Sass 并且经常将它用于我正在开发的应用程序 今天我像平常一样去运行 sass watch scss css 并注意到我收到以下错误 bash sass command not
  • 故障转储分析:CxxUnhandledExceptionFilter

    我有一个崩溃小型转储需要分析 我的程序是多线程Qt5应用程序 我不是调试专家 但通常我可以轻松找到程序失败的地方 但这次我不能 我在 Visual Studio 2010 中打开转储文件 单击 仅使用本机调试 它向我显示问题所在 它是位置为
  • 有界上下文、子域和通用语言

    a 对于包含两个或多个子域的 BC 存在概念重叠的可能性 甚至更糟糕的是 相同的概念 由其中几个子域使用 可能会被每个子域以不同的方式解释 理解 无论如何 如果 BC 确实包含许多子域 它是否应该提供几种通用语言 每个子域一种 或者所有子域
  • Gson ClassCastException(LinkedTreeMap)

    Using Gson反序列化参数化类的对象Container
  • 将react-route-dom中的语法从“Switch”更改为“Routes”,但浏览器中仍然没有显示

    我正在创建一个 Google 克隆 这是我当前的代码 我读到 考虑到反应路由器的更新 我需要将语法从 Switch 更改为 Routes 我这样做了 但我的 这是搜索页面 没有显示在浏览器内部 import React from react
  • C#:Resharper 的替代品,C# 版本 [重复]

    这个问题在这里已经有答案了 这对我来说不太便宜 149 美元 我尝试过 但我很喜欢它 对我来说最酷的事情是重构为 LINQ 所以我想知道是否有一个更便宜的替代方案可以做到同样的事情 将我的循环重构为更小的 LINQ 循环 DevXpress
  • python文本框中文本和滚动条的自动滚动

    我有一个 tkinter 文本 和 滚动条 工作正常 在我的程序中 文本窗口中的行会自动不断添加 因此 当插入新的文本行且数据超出限制时 我希望文本和滚动条自动滚动到底部 以便始终显示最新的文本行 这个怎么做 另外 如何链接文本窗口和滚动条
  • 我们如何有效地处理 mnesia 记录的时间相关约束?

    我正在将记录写入mnesia 该记录应该保存在那里 仅在允许的时间 24 小时 内 24小时后 在用户修改其中的一部分之前 系统应该自动删除它们 例如 用户获得免费通话时间 用于语音通话 他们应该在给定时间内使用它们 如果他们不使用它 24
  • QtWebKit 无需安装 flash 播放器即可播放 HTML5 视频

    安装最新的 Flash 播放器并启用插件后 我的简单示例可以播放 YouTube 视频 操作系统 Windows 7 Qt 4 7 4 32 位和 64 位均可 但是 根据 http www youtube com html5 我的示例浏览
  • 三引号内可以有变量吗?如果是这样,怎么办?

    对于某些人来说 这可能是一个非常简单的问题 但它却难倒了我 你能在Python的三引号内使用变量吗 在下面的例子中 如何在文本中使用变量 wash clothes tuesdays clean dishes never mystring I
  • Electron Web 蓝牙 API requestDevice() 错误

    我正在尝试开发一个与蓝牙低功耗设备通信的应用程序 我使用 Web Bluetooth API 建立了一个工作 网站 一切正常 所以我使用 Electron 框架来构建一个应用程序 这个问题是已知的 如果你开始navigator blueto
  • 使用 jQuery 选择非标准标签

    有没有办法使用 jQuery 来选择
  • 基于动态用户属性创建受众

    我有一个应用程序 用户可以在其中拥有 付费 或 免费 状态 用户可以从 免费 切换到 付费 如果他进行应用内购买 或者如果他停止支付订阅费用 则可以从 付费 切换到 免费 我可以使用动态用户属性来跟踪 Firebase 中的信息吗 在文档中
  • 使用矢量化为 iPhone 编译 Eigen 库

    我正在努力为 iPhone 4 编译 Eigen 库 该库具有带有 armv7 指令集的 ARM 处理器 到目前为止 当我指定预处理器定义 EIGEN DONT VECTORIZE 时 一切正常 但由于一些性能问题 我想使用armv7优化的
  • 删除 IntelliJ 中的“运行任何内容”历史记录

    我正在使用 IntelliJ 2019 3 我想删除 Run Anything 历史记录中的 执行 Maven 目标 我怎样才能做到这一点 我找到的所有答案都是删除workspace xml 但这不适用于此版本 One other way
  • 如何分离运行容器并在退出时自动删除它们?

    Why are d and rmDocker 中的争论有冲突吗 docker run d rm image Conflicting options rm and d 我有许多运行单元 功能 集成测试的容器 Docker 容器启动 运行测试