04-Docker常用命令

简介: Docker常用命令简介:涵盖启动、停止、重启、状态查看及开机自启设置;支持版本、信息查询与帮助文档查看;镜像管理包括列出、搜索、下载、删除及空间清理;支持命令自动补全配置,虚悬镜像处理,后台运行Linux容器及yum依赖下载等操作。

启动类命令
启动docker:
停止Docker:
重启Docker:
查看状态:
设置开机自启:
帮助类命令
查看Docker版本:
查看Docker概要信息:
查看Docker总体帮助文档:
查看docker具体命令帮助文档:
镜像命令
列出本地主机上的镜像
参数:
-a:列出所有镜像(含历史镜像)
-q:只显示镜像ID
-f:过滤
在远程仓库中搜索镜像
(默认取docker hub中搜索)
参数:
-f:过滤
--limit 数量:只展示前几项
下载镜像
不加 tag 时,默认下载最新的镜像(即tag为latest)。
查看占据的空间
查看镜像/容器/数据卷所占的空间:
删除镜像
可以使用空格分隔,删除多个镜像:
删除全部镜像:
虚悬镜像
仓库名、标签都是的镜像,俗称虚悬镜像(dangling image)。
命令自动补全
docker支持命令自动补全功能,当输入镜像名前几位时,可以按tab键自动补全镜像名称、tag等。
如果按下tab时没有自动补全,可以按以下步骤操作:
检查是否安装了bash-completion(命令补全增强包)

如果有/usr/share/bash-completion目录,但是没有/usr/share/bash-completion/bash_completion文件(centos6为/etc/bash_completion文件),则需要安装bash-completion

检查是否安装了docker的自动补全

如果已经安装了docker自动补全,使用source命令使其生效
Shell
运行代码
复制代码
1
source /usr/share/bash-completion/completions/docker

再次使用tab查看是否可以自动补全
Shell
运行代码
复制代码
1
2

如果镜像中有ubuntu,查看输入ub按下tab是否可以补全

docker run ub

如果有报错,且报错中提示_get_comp_words_by_ref: command not found。说明bash-completion的配置文件没有生效,需要source一下
Shell
运行代码
复制代码
1
2
3
4
5

对于centos7,bash-completion安装的是2.x版本,配置文件为/usr/share/bash-completion/bash_completion

source /usr/share/bash-completion/bash_completion

如果是centos6,自动安装的bash-completion最新版为1.x版本,配置文件为/etc/bash_completion

bash /etc/bash_completion

再次使用tab查看是否可以自动补全
Shell
运行代码
复制代码
1
2

如果镜像中有ubuntu,查看输入ub按下tab是否可以补全

docker run ub

Docker后台启动一个纯Linux镜像
Docker启动镜像后,如果镜像中的程序不是一直运行的,那么在程序运行完成后容器就会自动退出。而单纯的Linux镜像中是没有一直运行的程序的,如果需要后台启动一个不停止的Linux镜像,可以手动指定一个不停止的程序,例如采用以下方式:
Shell
运行代码
复制代码
1
2

使用tail -f 不停的打印一个日志,例如打印日志黑洞/dev/null

docker run -d --name kylin hxsoong/kylin:v10-sp1 tail -f /dev/null
yum只下载依赖不进行安装
有些时候,内网需要安装某个RPM包,而内网服务器不连接互联网,无法直接下载缺失的依赖。可以在Docker中启动一个相同版本的Linux,然后下载相关依赖:
1
2

yum只下载依赖不进行安装:(尝试安装aaaa.rpm,将需要的rpm依赖下载到aaaa_packages文件夹中)

yum install --downloadonly --downloaddir=aaaa_packages aaaa.rpm

相关文章
|
3月前
|
jenkins Java 持续交付
Jenkins前置配置
本文介绍Jenkins与GitLab集成的完整配置流程:包括GitLab账号创建、SSH密钥配置、API Token生成,Jenkins中GitLab连接、凭据管理、全局Git信息设置,以及节点服务器环境搭建(JDK、Maven、Node、Docker等),并详细说明Jenkins节点通过SSH方式接入的步骤,实现自动化拉取代码、构建打包与持续集成。
|
3月前
|
缓存 前端开发 JavaScript
头条面经
涵盖前端、网络、JS核心、框架及算法等多方面知识,包括深拷贝、双向绑定、HTTP缓存、跨域、Vue原理、TCP/UDP、设计模式、事件循环、类型判断、闭包、原型链、性能优化等高频面试题,全面考察技术深度与综合能力。
|
3月前
|
存储 负载均衡 测试技术
路由策略:怎么让请求按照设定的规则发到不同的节点上?
本讲深入讲解RPC中的路由策略,重点介绍如何通过IP路由和参数路由实现灰度发布,降低上线风险。路由策略通过在负载均衡前增加筛选逻辑,按规则将请求导向特定节点,实现流量隔离与精细化控制,提升系统稳定性与服务治理能力。
|
3月前
|
缓存 负载均衡 Java
优雅启动:如何避免流量打到没有启动完成的节点?
本讲介绍RPC中的优雅启动,重点讲解启动预热与延迟暴露。通过预热机制让新实例逐步承接流量,避免冷启动高负载;结合延迟暴露,在服务完全初始化后再注册上线,确保平滑启动,提升系统稳定性与用户体验。
|
3月前
|
SQL 算法 关系型数据库
熔断限流:业务如何实现自我保护?
本文讲解RPC框架中业务的自我保护机制。面对高并发场景,服务端通过限流(如令牌桶、滑动窗口)防止过载,支持应用级、IP级控制,并可结合配置中心动态调整阈值;调用端则通过熔断机制避免因下游故障引发雪崩,可在动态代理层集成熔断器,实现高效防护。
|
3月前
|
安全 测试技术
业务分组:如何隔离流量?
本文通过道路分流类比,讲解RPC中分组机制如何实现流量隔离,避免突发流量相互影响。分组可按应用重要性划分,保障核心业务稳定;结合主备分组策略,还能提升调用方高可用性。同时探讨了分组在多环境并行开发中的潜在冲突与解决思路。
|
3月前
|
存储 数据采集 搜索推荐
状态检索:如何快速判断一个用户是否存在?
本文探讨了高效判断对象是否存在的技术方案,对比有序数组、二叉树和哈希表后,重点介绍位图与布隆过滤器。位图利用bit级存储,大幅节省空间;布隆过滤器通过多哈希函数映射,以极小错误率换取更高空间效率,适用于注册去重、爬虫判重等场景,是时间与空间权衡的典范。
|
3月前
|
缓存
浏览器缓存
HTTP缓存依赖Cache-Control和ETag实现。Cache-Control通过public、private、no-cache等指令控制缓存范围与行为,max-age、s-maxage设置缓存时长,must-revalidate控制过期验证;ETag为资源生成唯一标识,客户端通过If-None-Match比对,判断是否返回304,节省带宽,提升性能。
|
3月前
|
缓存 网络协议
网络优化方案
通过合并资源、压缩文件、合理利用缓存和DNS预解析,减少HTTP请求数与资源大小,提升页面加载速度。采用哈希命名实现缓存更新,确保用户获取最新资源,优化整体网络性能。(239字)
|
3月前
|
监控 前端开发 网络协议
前端性能监控指标
前端性能监控指标包括白屏时间、首屏时间、用户可操作时间及总下载时间。通过注入代码或Timing API等方式可量化统计,其中白屏时间常用head前后时间差估算,虽为估值但具参考价值,助力优化用户体验。