Docker常用命令小记
除了基本的docker pull、docker image、docker ps,还有一些命令及参数也很重要,在此记录下来避免遗忘。
环境信息
以下是本次操作的环境:
- 操作系统: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
整体信息
docker info用来看整体信息:
[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
...
释放空间
- 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=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
- 按容器名称过滤:docker ps -f name=inspiring_ardinghelli
[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过滤: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: NAMES
11548ac31116: tomcat:9.0.26-jdk8-openjdk: inspiring_ardinghelli
21c0499ccc76: nginx: strange_zhukovsky
下图展示了所有的列的名称:

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

4. 在使用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 -q
11548ac31116
- 上面的命令可以得到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 -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命令,更多的信息请参考官方文档:https://docs.docker.com/engine/reference/commandline/docker/
欢迎关注我的公众号:程序员欣宸
Docker常用命令小记的更多相关文章
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- Docker常用命令(二)
Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...
- Docker应用二:docker常用命令介绍
Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...
- Docker常用命令汇总,和常用操作举例
Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...
- 1021 docker常用命令和Jenkins搭建
docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...
- Docker 常用命令——镜像
Docker 常用命令 帮助命令 docker version --版本信息 docker info --详细信息 docker --help --帮助 镜像命令 1.doc ...
- docker 常用 命令
http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...
- Docker 常用命令总结
Docker 常用命令总结 回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...
随机推荐
- 如何在不到12天的时间里将网站权重优化到1(纯白帽SEO方法)
之前操作了一个IDC网站,不到1个月的时间把网站的权重从0做到了1,本来想写篇文章分享相关的操作经验.后来因为网站整体规划的原因,IDC网站需要关闭一段时间做备案的更新,排名肯定就会掉了,然后怕大家看 ...
- Raven 2 靶机渗透
0X00 前言 Raven 2中一共有四个flag,Raven 2是一个中级boot2root VM.有四个标志要捕获.在多次破坏之后,Raven Security采取了额外措施来强化他们的网络服务器 ...
- Servlet Cookie、Session
HTTP不能保持连接,可使用会话保存用户信息. 常用的会话技术有2种:Cookie.Session. Cookie 1.原理 当用户第一次访问某个网站时,服务器设置Cookie,存储用户信息,放在响应 ...
- Linux设备驱动程序学习----3.模块的编译和装载
模块的编译和装载 更多内容请参考Linux设备驱动程序学习----目录 1. 设置测试系统 第1步,要先从kernel.org的镜像网站上获取一个主线内核,并安装到自己的系统中,因为学习驱动程序的编写 ...
- idea(java)实用开发插件
Idea常用的插件: mybatisX, ---------------- (Alt + enter) codeGlace, Lombok, sonarlint, translation, ...
- spring全家桶的pom的基本配置
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Spring与后端模板引擎的故事
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 现在很多开发,都采用了前后端完全分离的模式,随着近几年前端工程化工具和MVC框架的完善,使得这种模式的维护成本逐渐降 ...
- unity_小功能实现(碰撞检测)
1.触发器Trigger:勾选IsTrigger属性 //当player刚进入触发区域的时刻发生触发检测,比如在靠近门的某个区域门一直处于开着状态 void OnTriggerEnter(Collid ...
- CentOS重置MySQL root密码的方法
1.修改MySQL的登录设置: # vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] skip-grant-tables ...
- Docker Machine的使用
前面两篇文章(<Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)> <Docker Compose的使用>),简单介 ...