通过图像名称删除容器

时间:2019-11-15 14:28:40

标签: bash docker unix

我错误地创建了一堆我现在要删除的容器。我可以列出它们:

docker container ls -aq -f "ancestor=portainer/portainer"

如何将这些容器ID“传送”到docker container rm

什么不起作用:

  • docker ls -aq -f "ancestor=portainer/portainer" | docker container rm
  • docker container rm $(docker ls -aq -f "ancestor=portainer/portainer")
  • docker rm `docker ls -aq -f "ancestor=portainer/portainer"`

4 个答案:

答案 0 :(得分:1)

尝试一下:

docker container ls -aq -f "ancestor=portainer/portainer" | xargs docker container rm 

答案 1 :(得分:0)

好的,看来我的错误是运行docker ls而不是docker container ls。由于我无法在WWW上找到任何此类示例,因此我将保留这个问题。

docker container rm $(docker container ls -aq -f "ancestor=portainer/portainer")

答案 2 :(得分:0)

您可以尝试

for c in `docker container ls -aq -f "ancestor=portainer/portainer"`; do
   docker container rm $c
done

答案 3 :(得分:0)

这将始终以成功错误代码0退出,即使没有要删除的容器也是如此:

DELETE
   TOP 1 * 
FROM 
   'wp_comments'
WHERE 
   comment_ID IN
(
SELECT
  comment_ID,
  r,
  (comment_ID + '_' + r) AS unique
FROM 
   (
   SELECT
      `comment_ID`, 
       `comment_ID`,
       RANK() OVER (PARTITION BY 'comment_id' ORDER BY 'comment_id') AS r
   FROM
      'wp_comments'
   )
WHERE
   r>1
)

如果要在日志中提供有用的输出:

docker ps -aq -f "ancestor=fakeuser/my-image-name" | xargs -I CID docker rm -f CID