docker 常用命令

docker pull、docker image、docker ps,还有一些命令及参数也很重要,在此记录下来避免遗忘。
环境信息
以下是本次操作的环境:
1. 操作系统:CentOS Linux release 7.7.1908
2. Docker:19.03.5
假设当前环境正运行着四个容器,接下来的操作都基于这四个容器进行:


整体信息
docker info用来看整体信息:


释放空间

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的时候会列出所有运行状态的容器,有时我们只想看自己关注的,这时可以对结果做过滤:

1. 按容器ID过滤:docker ps -f id=e7cd61668364



2. 按容器名称过滤:docker ps -f name=mongo



3. 按镜像过滤,这种过滤再细分有三种:
      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可以获取镜像的详情,如下图所示,红框中就是摘要信息:




4.按容器状态过滤:docker ps -f status=running,状态有这些:created, restarting, running, removing, paused, exited, dead
5.还有其他的过滤条件,不过不常用到,如下图:





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




组合使用
1. 只显示Tomcat容器的ID字段:docker ps -f ancestor=tomcat:9.0.26-jdk8-openjdk -q




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



可见tomcat容器已经停止。

以上是我日常工作中经常用到的docker命令,更多的信息请参考官方文档:https://docs.docker.com/engine/reference/commandline/docker/
   


1.png (4.79 KB, 下载次数: 0)

 

1.png

20190922111000286.jpg (213.57 KB, 下载次数: 0)

 

20190922111000286.jpg

20190922111000286.jpg (256.91 KB, 下载次数: 0)

 

20190922111000286.jpg

TIM截图20200329132428.png (44.86 KB, 下载次数: 0)

 

TIM截图20200329132428.png

20190922111000286.jpg (411.41 KB, 下载次数: 0)

 

20190922111000286.jpg
 
收藏
posted @   lclc  阅读(107)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示