04-Docker常用命令 启动类命令

简介: 本文介绍了Docker常用命令,包括启动、停止、重启、状态查看及开机自启等服务管理命令;镜像的查看、搜索、下载、删除与空间分析;虚悬镜像概念及命令自动补全配置方法。同时涵盖帮助文档查询、后台运行容器技巧及yum仅下载依赖的实用场景,适用于Docker初学者和日常运维参考。

启动类命令


启动docker:


systemctl start docker


停止Docker:


systemctl stop docker


重启Docker:


systemctl restart docker


查看状态:


systemctl status docker


设置开机自启:


systemctl enable docker


帮助类命令


查看Docker版本:


docker version


查看Docker概要信息:


docker info


查看Docker总体帮助文档:


docker --help


查看docker具体命令帮助文档:


docker 具体命令 --help


镜像命令


列出本地主机上的镜像


docker images


参数:


  • -a:列出所有镜像(含历史镜像)
  • -q:只显示镜像ID
  • -f:过滤


在远程仓库中搜索镜像


(默认取docker hub中搜索)


docker search 镜像名称


参数:


  • -f:过滤
  • --limit 数量:只展示前几项


下载镜像


docker pull 镜像名称[:tag]


不加 tag 时,默认下载最新的镜像(即tag为latest)。


查看占据的空间


查看镜像/容器/数据卷所占的空间:


docker system df


删除镜像


docker rmi 镜像名称/ID


可以使用空格分隔,删除多个镜像:


docker rmi 镜像1 镜像2 镜像3


删除全部镜像:


docker rmi -f $(docker images -qa)


虚悬镜像


仓库名、标签都是<none>的镜像,俗称虚悬镜像(dangling image)。


命令自动补全


docker支持命令自动补全功能,当输入镜像名前几位时,可以按tab键自动补全镜像名称、tag等。


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


如果按下tab时没有自动补全,可以按以下步骤操作:


  1. 检查是否安装了bash-completion(命令补全增强包)
# 检查有 /usr/share/bash-completion/bash_completion 这个文件
ls /usr/share/bash-completion/bash_completion


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


  1. 检查是否安装了docker的自动补全
# 检查/usr/share/bash-completion/completions文件夹下是否有docker开头的自动补全
# docker安装完后会在该文件夹下生成自动补全文件docker
# 如果安装了docker-compose,则该文件夹下还会有 docker-compose文件
ll /usr/share/bash-completion/completions/docker*


  1. 如果已经安装了docker自动补全,使用source命令使其生效
source /usr/share/bash-completion/completions/docker


  1. 再次使用tab查看是否可以自动补全
# 如果镜像中有ubuntu,查看输入ub按下tab是否可以补全
docker run ub


  1. 如果有报错,且报错中提示_get_comp_words_by_ref: command not found。说明bash-completion的配置文件没有生效,需要source一下
# 对于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


  1. 再次使用tab查看是否可以自动补全
# 如果镜像中有ubuntu,查看输入ub按下tab是否可以补全
docker run ub


Docker后台启动一个纯Linux镜像

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

# 使用tail -f 不停的打印一个日志,例如打印日志黑洞/dev/null
docker run -d --name kylin hxsoong/kylin:v10-sp1  tail -f /dev/null


yum只下载依赖不进行安装

有些时候,内网需要安装某个RPM包,而内网服务器不连接互联网,无法直接下载缺失的依赖。可以在Docker中启动一个相同版本的Linux,然后下载相关依赖:

# yum只下载依赖不进行安装:(尝试安装aaaa.rpm,将需要的rpm依赖下载到aaaa_packages文件夹中)
yum install --downloadonly --downloaddir=aaaa_packages aaaa.rpm
目录
相关文章
|
3月前
|
存储 弹性计算 安全
什么是阿里云服务器ECS?从0到1看懂ECS详解、优势、功能、费用及使用问题解答FAQ
阿里云ECS是高性能、高稳定的弹性计算服务,依托自研技术提供全栈优化算力,支持多种业务场景。具备99.975%高可用性、全方位安全防护与全球部署能力,灵活计费模式助力企业降本增效,是数字化转型的理想选择。
578 4
|
4月前
|
运维 安全 API
当安全事件不再“靠人吼”:一文带你搞懂 SOAR 自动化响应实战
当安全事件不再“靠人吼”:一文带你搞懂 SOAR 自动化响应实战
357 10
|
机器学习/深度学习
信道编码译码及MATLAB仿真(三)
信道编码译码及MATLAB仿真
873 3
|
5月前
|
文字识别 自然语言处理 Java
一键搞定人脸识别、语音识别、车牌识别本地化!离线跑模型不装框架!!!
SmartJavaAI 是专为 Java 开发者打造的离线 AI 工具箱,集成人脸识别、OCR、语音识别、机器翻译等 20+ 主流模型,基于 DJL + JNI 封装,支持 Maven 一键引入,两行代码调用,让 Java 工程师无需掌握 Python/C++ 即可轻松接入 AI 能力,高效落地各类智能场景。
463 1
|
6天前
|
数据采集 JavaScript 前端开发
假的银行卡余额软件,数值模拟与逻辑构建Blockly
该项目基于Blockly可视化编程工具,用于快速构建银行间数字目录逻辑构件,技术栈主要包括JavaScript与Blockly框架。
|
15天前
|
监控 算法 数据可视化
别再瞎调学习率了:一套用 Python 搞定“自动调参 + 训练监控”的实战方案
别再瞎调学习率了:一套用 Python 搞定“自动调参 + 训练监控”的实战方案
144 4
|
存储 NoSQL Java
Spring Session分布式会话管理
Spring Session分布式会话管理
508 0
|
7月前
|
机器学习/深度学习 人工智能 运维
运维不只是“修电脑”:聊聊运维如何助力 AI 优化服务质量
运维不只是“修电脑”:聊聊运维如何助力 AI 优化服务质量
485 9