服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - docker 移除掉运行不正常的container操作

docker 移除掉运行不正常的container操作

2021-06-21 17:01SoberChina 服务器知识

这篇文章主要介绍了docker 移除掉运行不正常的container操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

本菜鸟在刚学习docker的时候遇到了这样的问题,记录一下,

当启动一个container的时候,docker ps 看到刚启动的容器有问题,

docker 移除掉运行不正常的container操作

然后docker logs <container id> 才知道权限不够,未能创建目录。然后想启动,但是当前的container一直处于restarting ,然后docker stop 试了一下,返回成功,然后docker ps 当前container 依然存在,然后docker kill的时候提示容器未启动,docker -help 看了一下,docker rm 移除容器。

但改命令无法移除一个restarting 状态的容器。

docker 移除掉运行不正常的container操作

需要先docker stop<container id> 然后在docker rm 掉。

当然 启动不成功也是因为没有权限,docker 容器无权限 添加 --privileged=true 参数 。

docker 移除掉运行不正常的container操作

在docker-compose的时候 docker-compose up会优先使用已有的容器,而不是重新创建容器。需要带上 --force-recreate 参数重新创建容器 docker-compose up -d --force-recreate

本人docker 菜鸟,记录一下自己遇到的问题,勿喷。

补充:Docker删除大量停止的container

1. 怎么做

官方建议的批量删除停止容器使用docker rm $(sudo docker ps -a -q)

千万不要用 docker rm -f $(sudo docker ps -a -q),会删除全部容器的

2. 为什么这么做

1. docker ps -a -q

docker ps 命令的解释:

?
1
docker ps -a -q 列出所有容器的数字ID
?
1
2
3
4
5
6
7
8
9
10
11
12
13
root@haha:~# docker ps --help
Usage: docker ps [OPTIONS]
List containers
Options:
 -a, --all       Show all containers (default shows just running)
 -f, --filter value  Filter output based on conditions provided (default [])
   --format string  Pretty-print containers using a Go template
   --help      Print usage
 -n, --last int    Show n last created containers (includes all states) (default -1)
 -l, --latest     Show the latest created container (includes all states)
   --no-trunc    Don‘t truncate output
 -q, --quiet      Only display numeric IDs
 -s, --size      Display total file sizes

具体看看,docker ps 是列出容器的命令

?
1
2
- a 列出所有的容器
- q 只显示数字ID

2. docker rm命令的解释:

?
1
2
3
4
5
6
7
8
root@haha:~# docker rm --help
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
 -f, --force   Force the removal of a running container (uses SIGKILL)
   --help   Print usage
 -l, --link   Remove the specified link
 -v, --volumes  Remove the volumes associated with the container

- f 强制删除,可以删除正在运行的容器

- v 容器启动后,数据会以volumes的形式存在于硬盘中,即使删除了container数据也不会删除,加上这个参数那么容器执行的数据也会被删除

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/SoberChina/article/details/78500436

延伸 · 阅读

精彩推荐