docker常用命令:
有时服务器cpu高,看到有个docker-proxy-cu进程占用很大cpu
解决:
把docker daemon 命令的--userland-proxy选项设置成false。可以用docker daemon --help看一下这个参数。
实时查看docker运行日志
docker logs -f --tail=50 proxy-server
查看容器详细信息
docker inspect XXX(containId)
1 docker后台运行某(nginx )服务:
docker run -d nginx
2 查看所有正在运行的容器:
docker ps
查看所有镜像
docker images
=====================================
查看容器对应ip
docker inspect <container id>
查看docker实时日志
docker logs -f 42(容器id)
批量删除所有命名以zhy开头的容器:
docker rm -f $(docker ps -a | grep "zhy*" | awk '{print $1}')
批量删除所有容器(谨慎!!,会删除正在运行的容器)
docker rm -f $(docker ps -a | awk '{print $1}')
===================================
3 查看某服务对应的docker内部的Linux目录:
docker exec -it XXX(containerID:容器ID) bash
如果你是在windows上用的git终端,而不是Docker Quickstart Terminal工具,那么你得用:
winpty docker exec -it XXX(containerID:容器ID) bash
我是用的git终端,因为Docker Quickstart Terminal工具不能放大界面,心累
windows下docker会虚拟ip为http://192.168.99.100,所以你运行的docker镜像需要用http://192.168.99.100来访问才行,不是你本机的ip!
查看本机为docker分配的虚拟ip
docker-machine ip default
4 退出容器
exit
或者ctrl+d
5 删除容器、镜像
批量删除所有未运行的容器(谨慎,):
docker rm `docker ps -a -q`
批量删除所有镜像(谨慎):
docker rmi $(docker images -q)
查看所有none的镜像
docker images|grep none
删除所有none的镜像
多次从仓库拉取相同的镜像名,就会产生很多的none的image
此命令可以删除大部分的none镜像,对,大部分,有些镜像被容器使用,无法删除
docker images|grep none|awk '{print $3}'|xargs docker rmi
删除指定镜像,镜像名包含关键字,此命令没试过
docker rmi --force `docker images | grep doss-api | awk '{print $3}'` //其中doss-api为关键字
网上找的删除none镜像命令
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
这样清空掉残余的容器后,再删除images就没有异常的提示了。