Docker学习4-常用命令之重要的容器命令

news/2024/5/17 11:28:27/文章来源:https://blog.csdn.net/kaizi_1992/article/details/128198498

本文是Docker学习系列教程中的第四篇。本文是Docker常用命令中的重要命令。为什么说重要呢?因为这些命令,在以后开发过程中,会经常使用到。比如:怎么查看容器中运行的日志?怎么查看容器运行的进程?怎么导出自己制作的容器?怎么导入从其他地方获取到的容器呢?以下就是本文主要内容:

file

1:启动守护式容器(后台启动) 在实际工作时候,大部分场景下,我们都希望docker的服务是在后台运行的。比如,我们运行了一个Redis服务,不可能一直让命令行窗口保存打开的,如果关掉,Redis服务就挂掉了。这种情况是肯定不行了。我们一般运行Redis都是后台运行的。那么Docker怎么后台运行呢?这就需要使用到以后台方式启动容器的命令,命令公式:

docker run -d 容器名称

file

再来回顾下前台启动的命令:

docker -it 镜像名称[option]

file 2:查看容器日志 容器已经以后台守护进程方式运行中,那么怎么查看这个容器的log日志呢?这就需要使用到查看容器日志的命令了。命令公式:

docker logs 容器ID

还以上文,我们后台启动的redis为例,查看redis的日志:

file 3:查看容器内运行的进程 此命令,是查看某个容器的进程PID的。命令公式:

docker 命令 容器id

比如我们要查看上图中,redis服务器的情况。如果在正常物理机,查看Linux服务情况使用的是top命令。所以在docker中,使用 docker 命令 容器id。如下图:

file

4:查看容器内部细节: 我们可以通过这个命令查看容器的更多详细信息。命令公式为:

docker inspect 容器ID

file 5:进入正在运行的容器并以命令行交互 我们怎么将运行在docker中的容器,停掉呢?docker提供了两种退出容器命令:exect -it 和attach。这两种退出方式有什么区别呢?下面大家就跟着凯哥一起学学这两个命令

5.1:docker exec -it 容器id 先来看看docker exec的帮助:

file 我们先前台启动ubuntu.然后使用ctrl+q+p命令退出命令行,但是不杀死进程。再ps,查看下:

file 可以看到Ubuntu在后台运行的。容器id为:802abbcf5086

那么如果,我们想要再次进入到Ubuntu里面,怎么办?

我们进入Ubuntu的时候命令是:docker run -it ubuntu /bin/bash

所以,如果想再次进入的话,使用exec命令。具体命令如下

docker exec -it 802abbcf5086 /bin/bash

file

5.2:重写进入 docker attach 容器id file exec和attach两者之间的区别是什么? attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出的话,会导致容器的停止。

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

file

重新进入容器,推荐使用 docker exec命令!!! 因为exec不会导致容器停止。

Docker停止命令总结 file 6:从容器内拷贝文件到主机上

有时候会有这样的场景,我们需要将容器内的文件从容器中复制到宿主机上,这个场景就是从人哪个区到主机的。docker也支持这种场景。使用到的命令公式如下:

docket cp 容器id:容器内部路径 目的主机路径

比如我们在上文中的Ubuntu的tmp目录下创建了一个a.txt文件。现在想要把docker中Ubuntu容器中/tmp/a.txt文件copy到宿主机上。怎么操作呢?

命令公式:docker cp 容器id:容器内内部全路径 目的主机路径

file 7:导入和导出容器 这个命令也是比较重要的。比如我们自己制作了一个docker镜像,想要把这个镜像发送给其他人应该使用什么命令?我得到了别给的一个容器,怎么导入到自己本地的docker上来运行呢?下面我们就一起来学学这两个命令。

导出:export 导出容器的内容流作为一个tar归档文件【对应import命令】

导入:import 从tar包中的内容创建一个新的文件系统在导入为镜像【对应export】

案例:

docker export 容器id > 文件名称.tar

比如我们将上文提到的Ubuntu导出为abc.tar。命令如下:

file 假设我们不小心把Ubuntu的镜像个rm -f了。那么怎么恢复呢?

file 可以使用下面命令:

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

file

查看导入镜像结果:

file 重启启动导出的镜像:

file

总结: 最后,我们来总结下。如下图:

file 一些常用命令介绍一:

file 一些常用命令介绍二:

file

本文由凯哥Java(kaigejava)发布

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

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

相关文章

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事,必先利其器,要想更好的进行安全测试,就需要有一个趁手的工具,BurpSuite就是一个不错的选择,是广大安全测试工程师的必备工具,今天就带着大家把这个工具给装上,开启大家的安全测试之旅…

引擎入门 | Unity UI简介–第2部分(5)

本期我们继续为大家进行Unity UI简介(第二部分)的后续教程 本篇内容 9.设置动画对话框 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介(第二部分)篇幅较长,分为八篇,本篇为第五篇。 9.设置动画对…

【信息检索与数据挖掘期末复习】(五)Language Model

什么是语言模型? 一个传统的语言生成模型可以用于识别或生成字符串 我们可以将有穷自动机看作是一种确定性的语言模型 基本模型:每一个文档都是通过一个像这样的自动机生成的,只不过这种自动机是有概率的 一种最简单的语言模型等价于一个…

纪念DedeCMS创始人IT柏拉图先生

我是卢松松,点点上面的头像,欢迎关注我哦! IT柏拉图开发了DedeCMS,造福了千万站长,但却没有因为这套系统过上体面的生活。 (图片取自IT柏拉图的新浪微博) 1979年你出生了,比我大…

终于有人把Java面试高分Guide总结得如此系统,堪称傻瓜式笔记总结

纵观今年的技术招聘市场, Java依旧是当仁不让的霸主 !即便遭受 Go等新兴语言不断冲击,依旧岿然不动。究其原因: Java有着极其成熟的生态,这个不用我多说;Java在 运维、可观测性、可监 控性方面都有着非常优…

Paper reading:Fine-Grained Head Pose Estimation Without Keypoints (CVPR2018)

Paper reading:Fine-Grained Head Pose Estimation Without Keypoints (CVPR2018) 一、 背景 为什么要读这篇论文,因为LZ之前要做头部姿态估计,看到一些传统的方法,都是先进行人脸检测,然后再…

Redis原理 - 对象的数据结构(SDS、Inset、Dict、ZipList、QuickList、SkipList、RedisObject)

Redis数据结构 1. SDS Redis 是用 C 语言写的,但是对于 Redis 的字符串,却不是 C 语言中的字符串(即以空字符’\0’结尾的字符数组),它是自己构建了一种名为 简单动态字符串(simple dynamic string,SDS&am…

实验7 数据库编程

第1关 定义一个名为PROC_COUNT的无参数存储过程 任务描述 定义一个名为PROC_COUNT的无参数存储过程,查询工程名称中含有“厂”字的工程数量,并调用该存储过程。 相关知识 1、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)…

Java ConcurrentHashMap 高并发安全实现原理解析

三、C13Map的字段定义 C13Map的字段定义 //最大容量 private static final int MAXIMUM_CAPACITY 1 << 30; //默认初始容量 private static final int DEFAULT_CAPACITY 16; //数组的最大容量,防止抛出OOM static final int MAX_ARRAY_SIZE Integer.MAX_VALUE -…

linux环境下,一步步教你命令行搭建自己的git服务器和客户端

前言&#xff1a; 先说下我的git服务器环境&#xff0c;git服务端的搭建我用的是阿里的ubantu云服务器&#xff0c;毕竟云服务器上可以在任何联网的电脑上访问嘛&#xff0c;方便。局域网也可以&#xff0c;svn和git这两种最常用的代码管理系统&#xff0c;在企业中基本…

LVGL自定义组件__页面指示器

前言 LVGL对硬件的要求非常低&#xff0c;使用其自带的组件能够搭建出精美的界面&#xff0c;动效也很棒。但是如过移植到Linux平台下&#xff0c;开发稍微复杂的应用项目&#xff0c;那些组件就远远不够用了。为此需要自己自定义一些组件&#xff0c;以方便实用。 效果 为此…

GitHub上架即下架,《分布式系统人人都是架构师》全彩笔记开源

又来给大家分享好书了&#xff1a;高翔龙老师的 《超大流量分布式系统架构解决方案&#xff1a;人人都是架构师2.0》&#xff0c;我在网上没找见开源的PDF版本所以分享一下&#xff01;小编会在文末附电子版免费方式。 高翔龙是谁&#xff1f; 云集基础架构负责人&#xff0c…

Verilog中 高位与低位

Verilog中信号定义位宽的一些问题 总是被Verilog中信号定义位宽的问题所困扰&#xff1a; wire[7:0] data1 和 wire[0:7] data1有什么不一样 wire[7:0] data2[3:0]、wire[7:0] data2[0:3]、wire[0:7] data2[3:0]、wire[0:7] data2[0:3]又分别有什么不一样&#xff1f; 今天下定…

【C++进阶】引用 函数提高

文章目录一 、引用1.1 引用的基本使用1.2 引用的注意事项1.3 引用做函数参数1.4 引用的本质 &#xff1a;指针的常量1.5 常量引用二、函数提高1 函数默认参数2 函数占位参数3 函数重载一 、引用 1.1 引用的基本使用 作用&#xff1a;给变量起别名 语法&#xff1a;数据类型 &a…

TC申请是否需要银行转账记录?

【TC申请是否需要银行转账记录&#xff1f;】 答案是毫无疑问的。 根据TE官网公开的文件CCS Certification Procedures V3.0 里面关于TC申请所需的文件指引E2.1.1f&#xff1a;&#xff08;如图&#xff09; 企业在申请与TE相关的认证项目&#xff08;例如GRS/RCS等等&#xf…

MySQL基础三问:底层逻辑、正在执行、日志观察

背景及目录&#xff1a; 经常面试会遇到且实际工作中也会应用到的三个场景&#xff1a; 一.mysql查询时的底层原理是什么&#xff1f; 二.如何查看正在执行的mysql语句&#xff1f; 三.如何观察mysql运行过程中的日志信息&#xff1f; - - - - - - - - - -分割线- - - - -…

「Redis」07 持久化操作(RDB、AOF)

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——持久化操作&#xff08;RDB、AOF&#xff09; 1. RDB&#xff08;Redis DataBase&#xff09; 概述 RDB是什么 在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c; 即 Snapshot 快照&#xff0c;恢…

水文遥测终端(水文遥测终端机)遥测终端机RTU 中小河流水文水雨情自动监测设备

平升电子遥测终端机RTU/水文遥测终端(水文遥测终端机&#xff09;能自动完成对流域或测区内降雨量、蒸发量、水位、流量流速、水质、闸门开度、风向风速、墒情、现场视频/图像等水文数据的采集、存储、控制和传输。设备广泛应用于中小河流、湖泊、水库、地下水的水文监测项目&a…

基于jsp+mysql+ssm学生网上请假系统-计算机毕业设计

项目介绍 随着高校招生规模的逐步扩大和教学方式的改革&#xff0c;在校学生人数将不断增加。另一方面&#xff0c;我国高等学校基层学生考核工作的内容杂&#xff0c;管理细&#xff0c;要求高&#xff0c;头绪多&#xff0c;传统的手工档案式管理办法已基本不适应新形势的要…

2022DAMA数据治理最佳培训机构奖

2022DAMA数据治理最佳培训机构奖