16boke - 一路博客

小鱼儿主页玄机资料

一、统计数据(stats)

docker stats

显示与容器有关的实时信息流,查看当前正在运行的容器统计数据

默认命令将为您显示Container ID、CPU、MEM、NET和BLOCK的使用情况,以及容器的Process ID。如果您不需要显示所有的信息,您可以使用“format”命令来查看您想要看到的信息。举个例子,您只想查看Container ID、CPU、MEM、NET的使用情况。使用--format选项,之后添加想要查看的信息,格式如下所示:

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}"

各种格式占位符的含义:

  • .Container - 显示容器ID;

  • .Name - 显示容器名称;

  • .ID - 显示容器ID;

  • .CPUPerc - 显示CPU百分比;

  • .MemUsage - 显示内存使用情况;

  • .NetIO - 显示网络I / O;

  • .BlockIO - 显示块I / O;

  • .MemPerc - 显示内存百分比;

  • .PID - 显示进程ID的数量;

二、快速管理容器和镜像

原理:先用docker ps -a -q 输出所有容器的container id(-f 表示过滤参数或者输出格式),然后作为docker rm 的参数进行批量删除

输出所有容器的name:

sh-4.2# docker ps --format='{{.Names}}'

test-env

test-args

test-run

输出所有容器名包含test的容器,并打印容器名

sh-4.2# docker ps -f name=test --format='{{.Names}}'

test-env

test-args

test-run

查看退出状态的容器,并打印容器名

sh-4.2# docker ps -f status=exited --format="{{.Names}}"

thirsty_brahmagupta

clever_mestorf

hopeful_morse

stoic_morse

elated_williams

tender_jepsen

reverent_mirzakhani

删除所有容器:

sh-4.2# docker rm -f -v $(docker ps -a -q)

删除/启动所有退出的容器:

sh-4.2# docker rm/start $(docker ps -qf status=exited)

删除所有镜像:

sh-4.2# docker rmi $(docker images -q)

查看悬挂镜像:

sh-4.1# docker  images -qf dangling=true

只查看镜像或者容器指定的信息(在docker1.10之后才支持的)

只列出镜像的id以及仓库名称:

sh-4.2# docker images --format "{{.ID}}: {{.Repository}}"

67591570dd29: centos

0a18f1c0ead2: rancher/server

只列出容器的相关id,image,status和name

sh-4.2# docker ps --format "{{.ID}}: {{.Image}} : {{.Status}} : {{.Names}}"

66b60b72f00e: centos : Up 7 days : pensive_poincare

或者自己重新定义列,就和原生差不多:

sh-4.2# docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"

CONTAINER ID        IMAGE                                         STATUS              NAMES

66b60b72f00e        centos                                        Up 7 days           pensive_poincare

三、在docker container和物理机中双向拷贝文件

容器内部文件拷贝到宿主机:

sh-4.2# docker cp jupyter-70002111:/home/70002111/教程-研究功能介绍.ipynb .

sh-4.2# ls

Dockerfile  教程-研究功能介绍.ipynb

宿主机文件拷贝到容器:

sh-4.2# docker cp Dockerfile jupyter-70002111:/home/70002111/

sh-4.2# docker exec -it jupyter-70002188 ls

Dockerfile

四、查看容器大小

$ sudo  docker ps -s

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES               SIZE

11b6cd007b26        finance/mysql5-1    "/usr/bin/mysqld_safe"   22 months ago       Up 3 seconds

五、杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有未打 dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)

通过镜像的id来删除指定镜像

docker rmi

删除所有镜像

docker rmi $(docker images -q)


Docker