当前位置: 首页 > 知识库问答 >
问题:

使用Docker run启动的Docker组合删除容器

尉迟彬
2023-03-14

Repo 1在此Repo中,web层的构建脚本使用一个脚本文件来旋转应用层的容器(假设容器名为APP_CONTAINER)。应用层的端口是9090(例如),web层运行在8080上。这个回购中的docker脚本检查任何正在运行的应用程序(API)容器,移除它们,从我们的内部docker集线器中提取最新的映像,然后再次启动这些容器。

Repo 2在此Repo中,web层的构建脚本使用docker compose来拉升应用程序(API)容器(与APP_CONTAINER同名)。这些容器的港口需要是相同的9090港口。此回购的web层运行在不同的端口(即端口3000)上。

我的问题是,当我在repo2中运行docker compose时,如果容器APP_CONTAINER已经由第一个Repo使用docker run命令创建并运行,那么有没有办法删除它?

共有1个答案

寿翰飞
2023-03-14

如果容器名称总是相同的(或者您可以确定的),那么您可以在bash中使用类似这样的内容(或者在调用脚本的任何地方集成它)。

如果只想停止已经运行的容器:

docker stop $(docker ps -q -f name=APP_CONTAINER)

如果要停止并删除已经运行的容器

docker rm $(docker stop $(docker ps -q -f name=APP_CONTAINER))
docker rm $(docker stop $(docker ps -qa -f name=APP_CONTAINER))
#!/bin/bash

APP_CONTAINER="APP_CONTAINER" 
docker stop $(docker ps -q -f name=$APP_CONTAINER) 
docker-compose up -d 
 类似资料:
  • 问题内容: 具有运行后自动删除容器的标志。我想知道是否有与docker- compose.yml对应的特定服务配置,因为我在yml中获得的其中一项服务是一个脱离构建的过程,该过程应该只输出编译文件并自行消失。 问题答案: 我没有找到任何选项来帮助您在文件中定义此行为,我认为解释如下: 构建,(重新)创建,启动并附加到服务的容器。 由于您的服务器已构建并且服务已经启动,因此您可以使用和启动/停止服务

  • 我在官方docker网站上遵循了“开始”教程,一切都很顺利,直到我尝试删除容器。每次当我运行时 或 具有该 ID 的初始容器将停止或删除,但新容器出现并运行。我试图使用以下命令更新容器: 然而,这没有帮助。 这里是'docker info'命令结果: 和“docker inspect[container_id]”

  • 我使用的是来自java的ApachePDFBox,我有一个带有多个可选内容组的源PDF。我想做的是导出一个PDF版本,其中只包含标准内容和启用的可选内容组。为了我的目的,我保留原作的任何动态方面是很重要的。。。。因此,文本字段是静态文本字段,矢量图像是静态矢量图像,等等。之所以需要这样做,是因为我打算最终使用一个pdf表单编辑器程序,它不知道如何处理可选内容,并且会盲目地渲染所有内容,所以我想预处

  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 问题内容: 鉴于: 基于ubuntu的容器:13.10 已安装ssh(通过) 问题:每次启动容器时,我都必须手动运行sshd 尝试过:,但无济于事。 问题:如何设置容器以在容器启动期间自动启动sshd服务? 问题答案: 您可以尝试使用phusion / baseimage-docker实现更优雅的方式 https://github.com/phusion/baseimage- docker#rea

  • 给定: 基于Ubuntu:13.10的容器 已安装ssh(通过)