Iva*_*hek 36 containers docker
该docker-compose run参考文献指出它可以--rm选择
运行后移除容器。
我想让它成为run我在docker-compose.yml.
所以,问题是:
docker-compose.yml吗?(INB4“使用 bash 别名,卢克!”:当然,我可以docker-compose.yml通过设置一些 bash 别名来强制执行此操作,alias docker-compose-run='docker-compose run --rm'但我感兴趣的是如何通过docker-compose.yml而不是通过某种外部方式来强制执行此操作。)
小智 21
TLDR:2018-11仍然不可能;使用docker-compose down或docker-compose run --rm
我想对这个问题给出一个更新的答案,因为已经快 3 年了。这将为其他人节省一些搜索。
我有同样的问题,以下是我找到的解决方法(包括问题本身的解决方法):
docker-compose down它执行以下操作:
停止容器并删除由 up 创建的容器、网络、卷和图像。
默认情况下,删除的唯一内容是:
Run Code Online (Sandbox Code Playgroud)- Containers for services defined in the Compose file - Networks defined in the networks section of the Compose file - The default network, if one is used永远不会删除定义为外部的网络和卷。
虽然你不能在docker-compose.yml里面声明它会给你带来一些麻烦;尤其是卷和网络。
docker-compose run --rm--rm - 运行后删除容器。在分离模式下被忽略。
对服务运行一次性命令。例如,以下命令启动 Web 服务并运行 bash 作为其命令。
Run Code Online (Sandbox Code Playgroud)docker-compose run web bash[...] run 传递的命令会覆盖服务 配置中定义的命令。
[...] 该命令不会创建服务配置中指定的任何端口。这可以防止端口与已经打开的端口发生冲突。如果您确实希望创建服务的端口并将其映射到主机,请指定--service-ports标志
docker-compose rm -f-f, --force 不要要求确认删除
Eri*_*erg 11
它不是Dockerfileordocker-compose.yml规范的一部分,它只是 run 命令的 cli 选项,所以答案是否定的。你将需要依靠外部的东西来强制执行。
如果您的项目有一些构建工具,通常最好用它来包装 docker-compose 任务。例如,我们的 gradle 项目提供了与 docker 相关的任务,这些任务设置了一些默认选项,例如--rm运行任务。
| 归档时间: |
|
| 查看次数: |
33337 次 |
| 最近记录: |