docker常用命令--容器操作、镜像操作、查看docker容器使用情况、查看容器的环境变量、docker占用磁盘清理

1、容器操作

查询容器

docker ps -a

启动容器

docker start 容器名或容器ID 

重启容器

docker restart 容器名或容器ID

停止容器

 docker stop 容器名 

删除容器

docker rm 容器名字

进入容器
其中字符串为容器ID:

docker exec -it d27bd3008ad9 /bin/bash

停止全部运行中的容器:

docker stop $(docker ps -q)

删除全部容器:

docker rm $(docker ps -aq)

停止并删除全部容器:

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

2、镜像操作

查看镜像

docker images

删除镜像,删除镜像前需删除镜像产生的容器

docker rmi 镜像id或者镜像名

删除所有镜像

docker rmi 'docker images -q'

删除版本为none的images

docker rmi $(docker images | grep "none" | awk '{print $3}')

清理镜像
我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理:

docker image prune
-a, --all: 删除所有没有用的镜像,而不仅仅是临时文件;
-f, --force:强制删除镜像文件,无需弹出提示确认;
另外,执行完 docker image prune 命令后,还是告诉我们释放了多少存储空间!

3、查看Docker容器使用资源情况–docker stats

1、该命令用来显示容器使用的系统资源。不带任何参数选项执行 docker stats 命令:

docker stats (不带任何参数选项)

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
6951b6366091        elk_elk_1           13.28%              4.221GiB / 31.31GiB   13.48%              8.67GB / 4.79GB     276MB / 37.5GB      138
31d4d1caebe4        es-head_5           0.00%               42.45MiB / 31.31GiB   0.13%               0B / 0B             17MB / 0B           7
961208a3fce4        mariadb             0.41%               794.3MiB / 31.31GiB   2.48%               3.61GB / 1.88GB     15.1GB / 314GB      39
40aaa8492378        zookeeper_zk1_1     0.17%               172.4MiB / 31.31GiB   0.54%               799MB / 1.3GB       10.7MB / 123MB      52
c402cffb7f0b        zookeeper_zk2_1     0.41%               201.1MiB / 31.31GiB   0.63%               1.21GB / 2.33GB     5.36MB / 130MB      58
520dc6a92777        zookeeper_zk3_1     0.23%               162.7MiB / 31.31GiB   0.51%               703MB / 1.15GB      4.06MB / 121MB      51
b71fa832e363        mysql               0.16%               1.497GiB / 31.31GiB   4.78%               12GB / 158GB        5.1GB / 263GB       61
b0f9358b37a4        storage2            0.08%               6.473MiB / 31.31GiB   0.02%               0B / 0B             9.52MB / 173MB      12
a51a55d844a6        storage1            0.08%               21.99MiB / 31.31GiB   0.07%               0B / 0B             83.3MB / 2.01GB     12
5f37f7aaf076        registry            0.02%               6.852MiB / 31.31GiB   0.02%               333MB / 3.6MB       51.4MB / 963MB      13

默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:

[CONTAINER]:以短格式显示容器的 ID。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。 
[PIDS]:PID 号。

2、如果不想持续的监控容器使用资源的情况,可以通过 --no-stream 选项只输出当前的状态
这样输出的结果就不会变化了,看起来省劲不少。

docker stats --no-stream  (只返回当前的状态)

3、想查看某个容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是 ID:
docker stats --no-stream registry 1493(指定多个容器的名称或ID,这里的 registry 和 1493 分别是容器的名称和ID)
注意,多个容器的名称或者是ID之间需要用空格进行分割。

docker stats   --no-stream   容器ID/Name (只输出指定的容器)

4、查看容器的环境变量

1、使用docker inspect命令来查看

docker inspect 容器名 OR 容器ID

2、使用docker exec -it 容器名 OR 容器ID env查看

5、docker占用磁盘清理

5.1、查看磁盘使用情况

[root@LXCL-Web paas-app]# du -hs /var/lib/docker/
178G    /var/lib/docker/
[root@LXCL-Web paas-app]#

5.2、docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:

[root@LXCL-Web paas-app]# docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              27                  27                  5.612GB             711.4MB (12%)
Containers          29                  25                  16.07GB             59.29MB (0%)
Local Volumes       168                 8                   8.461GB             8.033GB (94%)
Build Cache                                                 0B                  0B
[root@LXCL-Web paas-app]#

5.3、docker system df -v 命令可以进一步查看单个image镜像、container容器空间占用细节,以确定是哪个镜像、容器或本地卷占用过高空间

[root@dev23 ~]# docker system df -v
Images space usage:

REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE                SHARED SIZE         UNIQUE SIZE         CONTAINERS
prom/node-exporter                              latest              1dbe0e931976        17 months ago       20.91 MB            0 B                 20.91 MB            1
docker.elastic.co/kibana/kibana                 7.12.0              7a6b1047dd48        2 years ago         1.054 GB            209.3 MB            844.2 MB            1
docker.elastic.co/elasticsearch/elasticsearch   7.12.0              9337ed510a0c        2 years ago         829.8 MB            209.3 MB            620.4 MB            1
logstash                                        7.12.0              c283394286f5        2 years ago         971.1 MB            0 B                 971.1 MB            1
mobz/elasticsearch-head                         5                   b19a5c98e43b        6 years ago         824 MB              0 B                 824 MB              1

Containers space usage:

CONTAINER ID        IMAGE                                                  COMMAND                  LOCAL VOLUMES       SIZE                CREATED             STATUS                 NAMES
428ddd1d3bfe        logstash:7.12.0                                        "/usr/local/bin/do..."   0                   362 kB              3 weeks ago         Up 3 weeks             logstash_new
b671146f644b        prom/node-exporter                                     "/bin/node_exporter"     0                   0 B                 2 months ago        Up 5 weeks             node-export
fccb019a58d1        docker.elastic.co/kibana/kibana:7.12.0                 "/bin/tini -- /usr..."   0                   122 B               2 months ago        Up 5 weeks             kib01
d38774be29ab        mobz/elasticsearch-head:5                              "/bin/sh -c 'grunt..."   0                   0 B                 2 months ago        Up 3 weeks             elasticsearch-head
508dccadcf1c        docker.elastic.co/elasticsearch/elasticsearch:7.12.0   "/bin/tini -- /usr..."   0                   461 MB              2 months ago        Up 5 weeks (healthy)   es01

Local Volumes space usage:

VOLUME NAME         LINKS               SIZE
您在 /var/spool/mail/root 中有新邮件
[root@dev23 ~]#

5.4、docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。

[root@LXCL-Web paas-app]# docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all build cache
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker 镜像。

6、从容器外发命令在容器内执行

docker exec $DOCKER_ID /bin/bash -c 'cd /packages/detectron && python tools/train.py'
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值