本篇内容主要讲解“Docker常用命令分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker常用命令分享”吧!
除了基本的<font color="blue">docker pull</font>、<font color="blue">docker image</font>、<font color="blue">docker ps</font>,还有一些命令及参数也很重要,在此记录下来避免遗忘。
以下是本次操作的环境:
操作系统:CentOS Linux release 7.7.1908
Docker:19.03.2
假设当前环境正运行着两个容器,接下来的操作都基于这两个容器进行:
[root@vostro harbor]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11548ac31116 tomcat:9.0.26-jdk8-openjdk "catalina.sh run" 6 seconds ago Up 5 seconds 8080/tcp inspiring_ardinghelli 21c0499ccc76 nginx "nginx -g 'daemon of…" 29 minutes ago Up 29 minutes 80/tcp strange_zhukovsky
<font color="blue">docker info</font>用来看整体信息:
[root@vostro harbor]# docker info Client: Debug Mode: false Server: 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 ...
<font color="blue">docker system prune</font>会删除以下内容: a. 已经停止的容器; b. 未被使用的网络; c. 所有未打标签的镜像; d. 构建镜像时产生的缓存; 注意:<font color="red">此命令删除的东西过多,所以要慎用</font>
删除已经停止的容器:<font color="blue">docker container prune</font>
删除未被使用的网络:<font color="blue">docker network prune</font>
删除没有Tag的镜像:<font color="blue">docker image prune</font>
删除没有容器的镜像:<font color="blue">docker image prune -a</font>
删除未被使用的数据卷:<font color="blue">docker volume prune</font>
执行<font color="blue">docker ps</font>的时候会列出所有运行状态的容器,有时我们只想看自己关注的,这时可以对结果做过滤:
按容器ID过滤:<font color="blue">docker ps -f id=11548ac31116</font>
[root@vostro harbor]# docker ps -f id=11548ac31116 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11548ac31116 tomcat:9.0.26-jdk8-openjdk "catalina.sh run" 4 minutes ago Up 4 minutes 8080/tcp inspiring_ardinghelli
按容器名称过滤:<font color="blue">docker ps -f name=inspiring_ardinghelli</font>
[root@vostro harbor]# docker ps -f name=inspiring_ardinghelli CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11548ac31116 tomcat:9.0.26-jdk8-openjdk "catalina.sh run" 7 minutes ago Up 7 minutes 8080/tcp inspiring_ardinghelli
按镜像过滤,这种过滤再细分有三种: a. 按镜像名和TAG过滤:<font color="blue">docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk</font> b. 按镜像ID过滤:<font color="blue">docker ps -f ancestor=4965bfab1881</font> c. 按照镜像摘要信息过滤:<font color="blue">docker ps -f ancestor=tomcat@sha256:67a9904e3ceb03abc50db7b374db7362f7e44d08a41488dd24c2bb14df8989a3</font> <br>镜像的摘要信息如何获取呢?执行命令<font color="blue">docker inspect tomcat:9.0.26-jdk8-openjdk</font>可以获取镜像的详情,如下图所示,红框中就是摘要信息:
按容器状态过滤:<font color="blue">docker ps -f status=running</font>,状态有这些:created, restarting, running, removing, paused, exited, dead
还有其他的过滤条件,不过不常用到,如下图:
查看容器所占硬盘空间:<font color="blue">docker ps -s</font> 上图红框中就是容器资源占用情况,<font color="blue">508MB</font>表示:镜像大小+容器自身大小,40KB表示容器自身所占资源大小;
查看容器信息时只看某些字段,例如只看容器ID、镜像、容器名称这三列:<font color="blue">docker ps --format "table {{.ID}}: {{.Image}}: {{.Names}}"</font>
[root@vostro harbor]# docker ps --format "table {{.ID}}: {{.Image}}: {{.Names}}" CONTAINER ID: IMAGE: NAMES 11548ac31116: tomcat:9.0.26-jdk8-openjdk: inspiring_ardinghelli 21c0499ccc76: nginx: strange_zhukovsky
下图展示了所有的列的名称: 3. 如下图红框所示,当字段内容过长时,展示的是部分内容,如果想查看完整信息请使用<font color="blue">docker ps --no-trunc</font> 4. 在使用<font color="blue">docker history</font>命令查看镜像的构建信息时,也会因为内容过长而被省略,如下图,此时也能用<font color="blue">--no-trunc</font>参数看到被省略的信息:
只显示Tomcat容器的ID字段:<font color="blue">docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q</font>
[root@vostro harbor]# docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q 11548ac31116
上面的命令可以得到Tomcat容器的ID字段,如果我们想停止该容器,将上述命令和<font color="blue">docker stop</font>组合起来使用即可:<font color="blue">docker stop $(docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q)</font>
[root@vostro harbor]# docker stop $(docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q) 11548ac31116 [root@vostro harbor]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11548ac31116 tomcat:9.0.26-jdk8-openjdk "catalina.sh run" About an hour ago Exited (143) 43 seconds ago inspiring_ardinghelli 21c0499ccc76 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 80/tcp strange_zhukovsky
可见tomcat容器已经停止。
到此,相信大家对“Docker常用命令分享”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。