在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本菜鸟在刚学习docker的时候遇到了这样的问题,记录一下, 当启动一个container的时候,docker ps 看到刚启动的容器有问题, 然后docker logs <container id> 才知道权限不够,未能创建目录。然后想启动,但是当前的container一直处于restarting ,然后docker stop 试了一下,返回成功,然后docker ps 当前container 依然存在,然后docker kill的时候提示容器未启动,docker -help 看了一下,docker rm 移除容器。 但改命令无法移除一个restarting 状态的容器。 需要先docker stop<container id> 然后在docker rm 掉。 当然 启动不成功也是因为没有权限,docker 容器无权限 添加 --privileged=true 参数 。 在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 -qdocker ps 命令的解释: docker ps -a -q 列出所有容器的数字ID 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 是列出容器的命令 - a 列出所有的容器 - q 只显示数字ID 2. docker rm命令的解释: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数据也不会删除,加上这个参数那么容器执行的数据也会被删除 以上为个人经验,希望能给大家一个参考,也希望大家多多支持极客世界。如有错误或未考虑完全的地方,望不吝赐教。 |
请发表评论