《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结

news/2025/1/8 22:13:59/文章来源:https://www.cnblogs.com/bigcat26/p/18660692

@

目录
  • 3.Docker常用命令
    • 3.1帮助启动类命令
    • 3.2镜像命令
    • 3.3有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)
    • 3.4容器命令
      • 3.4.1新建+启动容器
      • 3.4.2列出当前所有正在运行的容器
      • 3.4.3退出容器
      • 3.4.4启动已停止运行的容器
      • 3.4.5重启容器
      • 3.4.6停止容器
      • 3.4.7强制停止容器
      • 3.4.8删除已停止的容器
      • 3.4.9重要
        • 3.4.9.1启动守护式容器(后台服务器)
        • 3.4.9.2查看容器日志
        • 3.4.9.3查看容器内运行的进程
        • 3.4.9.4查看容器内部细节
        • 3.4.9.5进入正在运行的容器并以命令行交互
        • 3.4.9.6容器文件的上传和下载
        • 3.4.9.7导入和导出容器
        • 3.4.9.8查看docker版本信息和系统信息
        • 3.4.9.9docker save命令
        • 3.4.9.10docker build命令
        • 3.4.9.11docker上传镜像
        • 3.4.9.12docker修改标签版本号
        • 3.4.9.13docker 将本地镜像上传到镜像仓库(要先登陆到镜像仓库)
        • 3.4.9.14docker容器内删除文件
        • 3.4.9.15 docker commit命令提交容器副本使之成为一个新的镜像
    • 3.5小总结
  • 本人其他相关文章链接

3.Docker常用命令

一句话:镜像时模板,而容器才是真真正正干活的实例对象或实例容器 -> 由镜像生成容器实例。

3.1帮助启动类命令

3.2镜像命令

注意点1:
列出本地主机上的镜像

注意点2:
docker search 某个XXX镜像名字

注意点3:
docker pull 某个XXX镜像名字

注意点4:
docker system df 查看镜像/容器/数据卷所占的空间

注意点5:

问题:面试题:谈谈docker虚悬镜像是什么?

答案:仓库名、标签都是的镜像,俗称虚悬镜像dangling image,建议把虚悬镜像删除,不然docker打包编译部署可能会发生问题。

注意点6:
docker rmi -f 镜像ID
其中 -f:用于强制删除
如果不写-f,那么如果改容器服务正在运行,那么无法删除,报错如图1,而输入-f,则会执行强制删除。

3.3有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)

注意点1:

问题:为啥案例使用ubuntu而不是使用centos?

答案:因为centos太大了,ubuntu很小,方便案例使用。

3.4容器命令


3.4.1新建+启动容器

注意点1:

  • 新建+启动容器: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 其中OPTIONS说明

  • 启动交互式容器(前台命令行)

注意点2:

问题:启动容器命令 :docker run -it中-it参数 干啥用的?

答案:其中:-it 指代 你启动后对你有进一步的命令输入请求,需要你返回给我一个终端,我需要输入命令来操纵你的容器实例。

注意点3:

问题:大写-P 和 小写-p参数干啥用的? 一般用小写的 -p

答案:请参照“Docker平台架构图解(架构版)”,如图1红框部分,我用docker模拟一个redis服务,现在想外部访问redis服务那该怎么办呢? 答案得配置端口映射 -p 6379:6379,如图2,外面访问第一个6379端口找到docker,然后docker又会去容器中找第二个6379端口对应的暴露出来的服务。(即:-p 6379:6379左面6379为宿主机暴露的端口,而右面的6379docker访问redis服务对应的端口

如图1

如图2

注意点4:
执行命令docker run -it redis发现也可以运行, 答案时后面不带bash或者/bin/bash,那么默认也会自带脚本运行。

3.4.2列出当前所有正在运行的容器

注意点1:
列出当前所有正在运行的容器: docker ps [OPTIONS] 其中OPTIONS说明

注意点2:
如图1,CONTAINER ID指代容器ID,这里尾号adbb就对应如图2中的容器ID,另外NAME指代容器名字,如果未设置名字,那么系统自动随机分配一个名字,这里的pebsive_swanson就是系统自动随机分配的一个名字。如果如图3中启动服务时设置名字,那么如图1中NAME属性就会显示myu1的名字。

如图1

如图2

如图3

3.4.3退出容器

3.4.4启动已停止运行的容器

3.4.5重启容器

3.4.6停止容器

3.4.7强制停止容器

3.4.8删除已停止的容器

注意点1:
docker rm -> 删除容器
docker rmi -> 删除镜像

注意点2:

问题:如何删除正在运行的容器?

答案:有2种方式,方式1,先停止再删除,如图1,方式2,使用rm -f命令强制删除,如图2

如图1

如图2

3.4.9重要

3.4.9.1启动守护式容器(后台服务器)

注意点1:

问题:使用docker run -d centos发现容器自动退出了?如图

答案:docker机制问题

3.4.9.2查看容器日志

3.4.9.3查看容器内运行的进程

注意点1:

问题:docker ps [OPTIONS] -> 列出当前所有正在运行的容器,而docker top 容器ID ->
查看容器内运行的进程,展示区别是啥?

答案:展示的字段很不同,docker ps展示容器ID、镜像ID,而docker top展示进程ID、数据卷TTY等等。


3.4.9.4查看容器内部细节

注意点1:
打印输出,看到返回是个JSON串,里面包含命令、网络等等参数说明。

3.4.9.5进入正在运行的容器并以命令行交互

注意点1:
说明docker exec -it 容器ID bashShell

注意点2:

问题:attach进入和exec进入容器后,用exit退出后的情况区别?

答案

attach 直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。

exec 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。

3.4.9.6容器文件的上传和下载

注意点1:
容器文件的上传和下载

3.4.9.7导入和导出容器

注意点1:
案例验证如图:先把ubuntu镜像导出成abcd.jar -> 然后删除镜像 -> 再执行cat导入命令生成新镜像。
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

注意点2:
docker export --> import --> 启动 时可能会报错“Error response from daemon: No command specified”,需要带command,可以在原来的容器所在主机上执行docker ps查看到,如果command比较复杂,还是使用docker save --> load --> 启动 的方式好了,这种方式启动就不必带command。

注意点3:

问题:docker save和docker export区别?

答案:如图,详情请看博客:
https://blog.csdn.net/liukuan73/article/details/78089138?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165941772816782425153541%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165941772816782425153541&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-78089138-null-null.142v38pc_rank_34&utm_term=docker%20save%E5%92%8Cexport%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

3.4.9.8查看docker版本信息和系统信息

3.4.9.9docker save命令

3.4.9.10docker build命令

3.4.9.11docker上传镜像

3.4.9.12docker修改标签版本号

3.4.9.13docker 将本地镜像上传到镜像仓库(要先登陆到镜像仓库)

3.4.9.14docker容器内删除文件

命令:rm -f xxx

3.4.9.15 docker commit命令提交容器副本使之成为一个新的镜像

公式:
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
命令:在容器外执行,记得
docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2

3.5小总结



本人其他相关文章链接

1.《docker基础篇:1.Docker简介》包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
2.《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
3.《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
4.《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
5.《docker基础篇:5.本地镜像发布到阿里云》
6.《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
7.《docker基础篇:7.Docker容器数据卷》包括坑、回顾下上一讲的知识点,参数V、是什么、更干嘛、数据卷案例
8.《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis

重要信息

  • 官网:https://ais.cn/u/vEbMBz


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866110.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法

1.程序功能描述 基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法,对比两个算法的仿真时间,收敛曲线,以及路径规划的结果,最短路径长度。 2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序while t>=Temp1%温度降温判决tfor j=…

基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真

1.课题概述 基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a 4.系统原理简介永磁同步电机(PMSM)基于双PI结构的磁场定向控制(Field-Oriented Control, FOC)闭环控制系统是一种高级电机控制策略,旨…

基于FPGA的直接数字频率合成器verilog实现,包含testbench

1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 vivado2019.23.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)//sin,cos相位累加器的控制 always @(posedge i_clk)//时钟上边沿触发 beginif(i_rst)//系统复位begino_sin_add<=8d0;o_cos_ad…

G1原理—1.G1回收器的分区机制

大纲 1.G1垃圾回收器的分区(Region大小+G1分区+Region过大过小和计算) 2.Region大小的计算原理(先转字节然后确定2的n次幂再通过1左移n位) 3.新生代分区及自动扩展(新生代动态扩展机制) 4.停顿预测模型(衰减算法)保证预期停顿时间1.G1垃圾回收器的分区(Region大小+G1分区+Regio…

你不知道的 AI 提示词,都在这里!

你不知道的 AI 提示词,都在这里! ​​ 使用场景AI 提示词,即英文 AI Prompt,它犹如人类与大模型之间的“沟通语言”,堪称人机交互的重要通道。其形式既可以是简短的指令,也可以是一个问题,甚至是一个词,其目的就在于清晰地告知 AI 期望得到的结果。从原理上来看,提示词…

学习 - Linux - CentOS安装Tomcat8.5.85

CentOS安装Tomcat8.5.85 1、保证已经安装了jdk运行环境 java -version如果没有,请参考Centos安装jdk 2、从 Apache 官方网站下载 Tomcat 8 cd /opt sudo wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.85/bin/apache-tomcat-8.5.85.tar.gz 3、载完成后,解压缩 …

Win32汇编学习笔记07.筛选器异常

Win32汇编学习笔记07.筛选器异常-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 钢琴 od调试老师给的多媒体钢琴运行找到Piano的过程函数里去找到处理WM_KEYDOWN消息的那下个断点,然后按键断下来在这分析上图汇编代码:mov eax,dword ptr [ebp+10] 拿wParm…

Axure RP 10 for Mac v10.0.0.3924原型设计软件 中文

Axure RP 10 for Mac v10.0.0.3924原型设计软件 中文 Axure RP 10 for Mac,是一个专业的原型设计和线框图工具,广泛应用于用户体验设计(UX)和用户界面设计(UI)领域,为设计师、产品经理、开发人员提供了强大的功能,帮助其在项目早期阶段快速创建互动原型和详细的设计文档…

EndNote 21 for Mac v21.5 文献管理软件安装

EndNote 21 for Mac v21.5 文献管理软件安装 EndNote for mac,是一款文献管理软件,支持国际期刊的参考文献格式有3776种,写作模板几百种,涵盖各个领域的杂志。EndNote mac不仅仅局限于投稿论文的写作,对于研究生毕业论文的写作也会起到很好的助手作用。

BurpSuite实操之漏洞扫描

一、BurpSuite的常见功能仪表盘:仪表盘,扫描启动、暂停,用于显示任务、日志信息等目标:设置工作的目标范围(URL),以及报文过滤、报文展示等功能代理:拦截HTTP/S请求的代理服务器,作为web浏览器与服务器的中间人,允许拦截、修改数据流测试器:入侵功能,对web应用程序进…

Python在多个Excel文件中找出缺失数据行数多的文件

本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件内、某一列数据的特征,对其加以筛选,并将符合要求与不符合要求的文件分别复制到另外两个新的文件夹中的方法~本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个…

【模拟电子技术】02-PN结的形成

【模拟电子技术】02-PN结的形成半导体就是导电能力介于导体和半导体之间的东西, 本征半导体即纯净的半导体。导电靠自由电子,可看到自由电子即使是本征激发也少,导电能力也不够。自由电子撞在空穴中,就是复合(与本征激发相反),两者发生的频率决定着载流子的浓度,其实是…