FreezeJ' Blog

Docker常用命令(三)

2021-12-14

官方文档:https://docs.docker.com/engine/reference/commandline/docker/
菜鸟教程:https://www.runoob.com/docker/docker-command-manual.html

Docker的操作命令和可用参数非常多,经常不用容易生疏,做个文档记录一下做个备忘,持续补充…

查看软件、驱动信息

info

docker info可以查看很多docker相关的信息,如当前运行停止容器数、镜像数量、服务端版本号、使用的存储、日志、Cgroup驱动,插件,Runtimes,内核版本、操作系统版本、仓库地址、Docker根路径等。支持使用--format参数,格式化输出

version

docker version用于查看docker服务端和客户端版本,驱动版本,支持使用--format参数,格式化输出

查看容器信息

stat

docker stats动态显示当前运行容器内存、CPU、网络状态信息,可以通过--format参数来修改输出格式,也可以通过设置--no-stream来关闭实时输出,仅输出一次结果

top

docker top CONTAINER显示容器当前运行的进程,可以使用ps命令的参数,如:docker top CONTAINER aux,显示更详细的的信息,如进程CPU、内存占用等

logs

docker logs CONTAINER打印容器所执行命令的输出信息,建议带上限制参数,否则会输出大量信息

常用命令

带时间戳:docker logs -t ed8dd73cadab1

从某个时间节点开始:docker logs --since "2021-12-09T08:45:21.606806272Z" ed8dd73cadab1

输出最后10条,并实时输出后续日志:docker logs --tail 10 -f ed8dd73cadab1

ps

docker ps列出容器信息,默认只列出运行中的容器

常用命令

列出所有容器信息:docker ps -a

列出容器使用硬盘空间:docker ps -s

列出最近创建的5个容器:docker ps -n 5

只显示容器id:docker ps -q

过滤某种状态的容器:docker ps --filter status=exited,可选的状态有:created, restarting, running, removing, paused, exiteddead

过滤某个镜像的容器:docker ps --filter ancestor=nginx

过滤开放端口:docker ps --filter expose=8000-8080/tcp

输出特定格式:

docker ps --format "{{.ID}}: {{.Command}}"

可用字段参考:https://docs.docker.com/engine/reference/commandline/ps/#formatting

inspect

docker inspect获取容器/镜像的元数据

常用命令

查看镜像元数据:docker inspect mysql:5.6

查看容器元数据:docker inspect CONTAINER

查看容器执行命令:

docker inspect --format='{{.Config.Cmd}}' $INSTANCE_ID

容器日志路径:

docker inspect --format='{{.LogPath}}' $INSTANCE_ID

查看镜像暴露端口:

docker inspect --format='{{json .ContainerConfig.ExposedPorts }}' nginx

events

docker events用于查看服务器事件

常用命令

从某个时间点开始:docker events --since="2021-12-10T17:00:00"

输出时间段:docker events --since '2021-12-10T17:00:00' --until '2021-12-10T17:30:00'

调整输出:

docker events --format 'Type={{.Type}}  Status={{.Status}}  ID={{.ID}}'

指定输出类型:docker events -f type=container

更细致的类型请翻阅官方文档:https://docs.docker.com/engine/reference/commandline/events/

port

docker port列出指定容器的端口映射

常用命令

列出容器端口映射:docker port CONTAINER