Docker常用命令小记

除了基本的docker pull、docker image、docker ps,还有一些命令及参数也很重要,在此记录下来避免遗忘。

环境信息

以下是本次操作的环境:

操作系统:CentOS Linux release 7.7.1908

Docker:19.03.2

假设当前环境正运行着两个容器,接下来的操作都基于这两个容器进行:

[root@vostro harbor]# docker psCONTAINER ID        IMAGE                        COMMAND                  CREATED            STATUS              PORTS              NAMES11548ac31116        tomcat:9.0.26-jdk8-openjdk  "catalina.sh run"        6 seconds ago      Up 5 seconds        8080/tcp            inspiring_ardinghelli21c0499ccc76        nginx                        "nginx -g 'daemon of…"  29 minutes ago      Up 29 minutes      80/tcp              strange_zhukovsky复制代码

整体信息

docker info用来看整体信息:

[root@vostro harbor]# docker infoClient: Debug Mode: falseServer: Containers: 0  Running: 0  Paused: 0  Stopped: 0 Images: 19 Server Version: 19.03.2 Storage Driver: overlay  Backing Filesystem: xfs  Supports d_type: true...复制代码

释放空间

docker system prune会删除以下内容:

a. 已经停止的容器;

b. 未被使用的网络;

c. 所有未打标签的镜像;

d. 构建镜像时产生的缓存;

注意:此命令删除的东西过多,所以要慎用

删除已经停止的容器:docker container prune

删除未被使用的网络:docker network prune

删除没有Tag的镜像:docker image prune

删除没有容器的镜像:docker image prune -a

删除未被使用的数据卷:docker volume prune

过滤

执行docker ps的时候会列出所有运行状态的容器,有时我们只想看自己关注的,这时可以对结果做过滤:

按容器ID过滤:docker ps -f id=11548ac31116

[root@vostro harbor]# docker ps -f id=11548ac31116CONTAINER ID        IMAGE                        COMMAND            CREATED            STATUS              PORTS              NAMES11548ac31116        tomcat:9.0.26-jdk8-openjdk  "catalina.sh run"  4 minutes ago      Up 4 minutes        8080/tcp            inspiring_ardinghelli复制代码

按容器名称过滤:docker ps -f name=inspiring_ardinghelli

[root@vostro harbor]# docker ps -f name=inspiring_ardinghelliCONTAINER ID        IMAGE                        COMMAND            CREATED            STATUS              PORTS              NAMES11548ac31116        tomcat:9.0.26-jdk8-openjdk  "catalina.sh run"  7 minutes ago      Up 7 minutes        8080/tcp            inspiring_ardinghelli复制代码

按镜像过滤,这种过滤再细分有三种:

a. 按镜像名和TAG过滤:docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk

b. 按镜像ID过滤:docker ps -f ancestor=4965bfab1881

c. 按照镜像摘要信息过滤:docker ps -f ancestor=tomcat@sha256:67a9904e3ceb03abc50db7b374db7362f7e44d08a41488dd24c2bb14df8989a3

镜像的摘要信息如何获取呢?执行命令docker inspect tomcat:9.0.26-jdk8-openjdk可以获取镜像的详情,如下图所示,红框中就是摘要信息:

按容器状态过滤:docker ps -f status=running,状态有这些:created, restarting, running, removing, paused, exited, dead

还有其他的过滤条件,不过不常用到,如下图:

信息获取

查看容器所占硬盘空间:docker ps -s

上图红框中就是容器资源占用情况,508MB表示:镜像大小+容器自身大小,40KB表示容器自身所占资源大小;

查看容器信息时只看某些字段,例如只看容器ID、镜像、容器名称这三列:docker ps --format "table {{.ID}}: {{.Image}}: {{.Names}}"

[root@vostro harbor]# docker ps --format "table {{.ID}}: {{.Image}}: {{.Names}}"CONTAINER ID: IMAGE: NAMES11548ac31116: tomcat:9.0.26-jdk8-openjdk: inspiring_ardinghelli21c0499ccc76: nginx: strange_zhukovsky复制代码

下图展示了所有的列的名称:

如下图红框所示,当字段内容过长时,展示的是部分内容,如果想查看完整信息请使用docker ps --no-trunc

在使用docker history命令查看镜像的构建信息时,也会因为内容过长而被省略,如下图,此时也能用--no-trunc参数看到被省略的信息:

组合使用

只显示Tomcat容器的ID字段:docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q

[root@vostro harbor]# docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q11548ac31116复制代码

上面的命令可以得到Tomcat容器的ID字段,如果我们想停止该容器,将上述命令和docker stop组合起来使用即可:docker stop $(docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q)

[root@vostro harbor]# docker stop $(docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q)11548ac31116[root@vostro harbor]# docker ps -aCONTAINER ID        IMAGE                        COMMAND                  CREATED            STATUS                        PORTS              NAMES11548ac31116        tomcat:9.0.26-jdk8-openjdk  "catalina.sh run"        About an hour ago  Exited (143) 43 seconds ago                      inspiring_ardinghelli21c0499ccc76        nginx                        "nginx -g 'daemon of…"  2 hours ago        Up 2 hours                    80/tcp              strange_zhukovsky复制代码

可见tomcat容器已经停止。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容