k8s的容器操作指令
几个命令目录
- 1、kubectl exec -n ithmp-prod -it <pod-name> /bin/bash
- 命令组成部分
- 使用场景
- 注意事项
- 2、docker ps
- 基本用法
- 输出格式
- 常用选项
- 1. 列出所有容器(包括已停止的)
- 2. 显示最近创建的容器
- 3. 显示最近创建的几个容器
- 4. 显示容器的详细信息
- 5. 显示容器的完整信息
- 6. 显示容器的特定状态
- 7. 显示特定镜像的容器
- 8. 显示特定名称的容器
- 示例
- 注意事项
- 3、docker exec -it <id> /bin/bash
- 命令组成部分
- 使用场景
- 示例
- 注意事项
- 示例输出
- 4、du -sh *
- 命令组成部分
- 使用场景
- 示例输出
- 扩展用法
- 1. 显示隐藏文件和文件夹
- 2. 按大小排序
- 3. 显示总大小
- 4. 排除特定文件或文件夹
- 注意事项
- 示例
1、kubectl exec -n ithmp-prod -it /bin/bash
docker ps
kubectl exec -n ithmp-prod -it <pod-name> /bin/bash 是一个 Kubernetes 命令,用于在指定的 Pod 中执行命令并进入交互式终端。
以下是对这个命令的详细解释:
命令组成部分
kubectl:Kubernetes 命令行工具,用于与 Kubernetes 集群进行交互。exec:表示执行命令。-n ithmp-prod:指定命名空间(namespace)为ithmp-prod。命名空间是 Kubernetes 中用于隔离资源的逻辑分区,不同的命名空间中的资源是隔离的。-it:两个参数的组合:-i:表示交互式模式,允许用户与容器内的终端进行交互。-t:分配一个伪终端(pseudo-TTY),以便用户可以像在本地终端一样操作。
<pod-name>:需要替换为具体的 Pod 名称。Pod 是 Kubernetes 中的最小部署单元,一个 Pod 可以包含一个或多个容器。/bin/bash:指定在 Pod 中执行的命令,这里是启动一个 Bash 终端。
使用场景
当你需要进入 Kubernetes 集群中的某个 Pod 来进行调试、查看日志、运行命令等操作时,可以使用这个命令。例如:
- 查看 Pod 内部的文件系统结构。
- 检查容器内的服务运行状态。
- 手动执行一些脚本或命令来排查问题。
注意事项
- 权限问题:确保你有足够的权限访问指定的命名空间和 Pod。如果没有权限,可能会报错,提示你没有权限执行操作。
- Pod 状态:Pod 必须处于运行状态(Running),否则无法进入。如果 Pod 处于其他状态(如 Pending、CrashLoopBackOff 等),需要先解决 Pod 的问题。
- 容器数量:如果 Pod 中包含多个容器,需要指定容器名称。例如:
其中kubectl exec -n ithmp-prod -it <pod-name> -c <container-name> /bin/bash-c <container-name>指定了要进入的容器名称。
2、docker ps
docker ps 是 Docker 的一个常用命令,用于列出当前正在运行的容器。以下是对这个命令的详细解释,包括它的常用选项和输出格式。
基本用法
docker ps
这个命令会列出当前正在运行的 Docker 容器。默认情况下,它只显示处于 Running 状态的容器。
输出格式
docker ps 的输出通常包含以下列:
- CONTAINER ID:容器的唯一标识符,通常是一个哈希值。
- IMAGE:容器所使用的镜像名称和标签。
- COMMAND:容器启动时执行的命令。
- CREATED:容器创建的时间。
- STATUS:容器的当前状态(例如:Up 10 minutes、Exited (0) 10 minutes ago)。
- PORTS:容器暴露的端口及其映射到宿主机的端口。
- NAMES:容器的名称。
常用选项
以下是一些常用的 docker ps 选项:
1. 列出所有容器(包括已停止的)
docker ps -a
-a或--all:显示所有容器,包括已停止的容器。
2. 显示最近创建的容器
docker ps -l
-l或--latest:显示最近创建的容器(包括已停止的)。
3. 显示最近创建的几个容器
docker ps -n 5
-n或--last:显示最近创建的指定数量的容器(包括已停止的)。例如,-n 5表示显示最近创建的 5 个容器。
4. 显示容器的详细信息
docker ps -s
-s或--size:显示每个容器的大小。
5. 显示容器的完整信息
docker ps -f
-f或--format:自定义输出格式。例如,只显示容器名称:docker ps --format "{{.Names}}"
6. 显示容器的特定状态
docker ps --filter "status=running"
--filter:根据特定条件过滤容器。例如:- 显示正在运行的容器:
docker ps --filter "status=running" - 显示已停止的容器:
docker ps --filter "status=exited"
- 显示正在运行的容器:
7. 显示特定镜像的容器
docker ps --filter "ancestor=my-image"
--filter:根据镜像名称过滤容器。例如:docker ps --filter "ancestor=my-image"
8. 显示特定名称的容器
docker ps --filter "name=my-container"
--filter:根据容器名称过滤容器。例如:docker ps --filter "name=my-container"
示例
假设你运行了以下命令:
docker ps
输出可能如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
123456789abc my-image:1.0 "/bin/sh -c 'python..." 10 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp my-container
如果你运行:
docker ps -a
输出可能包括已停止的容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
123456789abc my-image:1.0 "/bin/sh -c 'python..." 10 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp my-container
def456789012 my-image:2.0 "/bin/sh -c 'python..." 20 minutes ago Exited (0) 10 minutes ago my-container-2
注意事项
- 权限问题:确保你有权限访问 Docker 守护进程。如果没有权限,可能会报错,提示你没有权限执行操作。
- Docker 守护进程状态:确保 Docker 守护进程正在运行。如果守护进程未启动,
docker ps命令会报错。
3、docker exec -it /bin/bash
docker exec -it <id> /bin/bash 是一个 Docker 命令,用于在指定的 Docker 容器中启动一个交互式的 Bash 终端。以下是对这个命令的详细解释,包括它的组成部分、使用场景和注意事项。
命令组成部分
-
docker exec:- 用于在运行中的容器中执行命令。
- 这个命令允许你在容器内部运行一个新的进程,而不需要重新启动容器。
-
-it:- 这是两个参数的组合:
-i(--interactive):保持 STDIN 打开,即使没有附加终端,也可以与容器进行交互。-t(--tty):分配一个伪终端(pseudo-TTY),以便用户可以像在本地终端一样操作。
- 这是两个参数的组合:
-
<id>:- 容器的 ID 或名称。你可以通过
docker ps命令获取正在运行的容器的 ID 或名称。
- 容器的 ID 或名称。你可以通过
-
/bin/bash:- 指定在容器中要执行的命令。在这里,
/bin/bash表示启动一个 Bash 终端。
- 指定在容器中要执行的命令。在这里,
使用场景
当你需要进入一个正在运行的 Docker 容器内部进行调试、查看日志、运行命令等操作时,可以使用这个命令。例如:
- 检查容器内部的文件系统结构。
- 查看服务的日志文件。
- 手动运行一些命令来排查问题。
示例
假设你有一个正在运行的容器,其 ID 是 123456789abc,你可以通过以下命令进入该容器的 Bash 终端:
docker exec -it 123456789abc /bin/bash
如果容器使用的是其他类型的 shell(如 /bin/sh),你可以相应地修改命令:
docker exec -it 123456789abc /bin/sh
注意事项
-
容器必须处于运行状态:
- 只有当容器处于运行状态(Running)时,
docker exec命令才能成功执行。如果容器已停止,你需要先启动它:docker start <id>
- 只有当容器处于运行状态(Running)时,
-
容器内必须有
/bin/bash:- 如果容器的镜像中没有安装 Bash,这个命令会失败。你可以尝试使用其他 shell,如
/bin/sh或/bin/tcsh。
- 如果容器的镜像中没有安装 Bash,这个命令会失败。你可以尝试使用其他 shell,如
-
退出容器:
- 当你完成操作后,可以通过以下方式退出容器:
- 输入
exit命令。 - 按下
Ctrl+D。
- 输入
- 请注意,退出容器不会停止容器的运行。容器将继续在后台运行。
- 当你完成操作后,可以通过以下方式退出容器:
-
权限问题:
- 确保你有足够的权限访问容器。如果没有权限,可能会报错,提示你没有权限执行操作。
示例输出
假设你运行了以下命令:
docker exec -it 123456789abc /bin/bash
如果一切正常,你将看到类似以下的输出:
root@123456789abc:/#
4、du -sh *
du -sh * 是一个 Linux 命令,用于显示当前目录下各个文件和文件夹的磁盘占用空间大小。以下是对这个命令的详细解释,包括它的组成部分、使用场景和一些扩展用法。
命令组成部分
-
du:du是 disk usage 的缩写,用于显示文件或目录的磁盘占用空间大小。
-
-s:-s(--summarize):表示对每个参数只显示总计大小,而不是显示每个文件或子目录的大小。这使得输出更加简洁。
-
-h:-h(--human-readable):以易读的格式显示大小(例如,以 KB、MB、GB 等单位显示,而不是以字节为单位)。
-
*:*是一个通配符,表示当前目录下的所有文件和文件夹。du命令会对每个匹配的文件或文件夹计算磁盘占用空间。
使用场景
当你需要快速了解当前目录下各个文件和文件夹的磁盘占用情况时,可以使用这个命令。例如:
- 查找占用空间较大的文件或文件夹。
- 评估磁盘空间的使用情况。
- 在清理磁盘空间之前,确定哪些文件或文件夹可以删除。
示例输出
假设你运行了以下命令:
du -sh *
输出可能如下:
4.0K file1.txt
1.2M folder1
200K image.jpg
8.0K script.sh
这个输出表示:
file1.txt占用了 4.0 KB 的磁盘空间。folder1占用了 1.2 MB 的磁盘空间。image.jpg占用了 200 KB 的磁盘空间。script.sh占用了 8.0 KB 的磁盘空间。
扩展用法
1. 显示隐藏文件和文件夹
默认情况下,du -sh * 不会显示隐藏文件(以 . 开头的文件)。如果你希望包括隐藏文件,可以使用以下命令:
du -sh .[^.]* *
或者使用 find 命令:
du -sh $(find . -maxdepth 1)
2. 按大小排序
如果你希望按大小对输出结果进行排序,可以结合 sort 命令:
du -sh * | sort -h
sort -h:以人类可读的格式对大小进行排序。
3. 显示总大小
如果你想显示当前目录下所有文件和文件夹的总大小,可以使用:
du -sh .
这将显示当前目录的总磁盘占用情况。
4. 排除特定文件或文件夹
如果你希望排除某些文件或文件夹,可以使用 --exclude 选项:
du -sh --exclude='*.log' *
这个命令会排除所有 .log 文件。
注意事项
-
磁盘空间与文件大小的区别:
du显示的是文件或目录占用的磁盘空间大小,而不是文件的实际大小。例如,稀疏文件(sparse files)可能显示的磁盘占用空间比实际文件大小小。
-
文件系统限制:
- 如果文件系统中有大量小文件,
du命令可能会运行较慢,因为它需要逐个计算每个文件的大小。
- 如果文件系统中有大量小文件,
-
权限问题:
- 如果你没有权限访问某些文件或目录,
du命令可能会报错。你可以使用sudo来提升权限:sudo du -sh *
- 如果你没有权限访问某些文件或目录,
示例
假设你运行了以下命令:
du -sh * | sort -h
输出可能如下:
4.0K file1.txt
8.0K script.sh
200K image.jpg
1.2M folder1
这个输出表示:
file1.txt占用了 4.0 KB 的磁盘空间。script.sh占用了 8.0 KB 的磁盘空间。image.jpg占用了 200 KB 的磁盘空间。folder1占用了 1.2 MB 的磁盘空间,并且结果已经按大小排序。
相关文章:
k8s的容器操作指令
几个命令目录 1、kubectl exec -n ithmp-prod -it <pod-name> /bin/bash命令组成部分使用场景注意事项 2、docker ps基本用法输出格式常用选项1. 列出所有容器(包括已停止的)2. 显示最近创建的容器3. 显示最近创建的几个容器4. 显示容器的详细信息…...
从零构建大语言模型全栈开发指南:第四部分:工程实践与部署-4.3.3低代码开发:快速构建行业应用(电商推荐与金融风控案例)
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 从零构建大语言模型全栈开发指南-第四部分:工程实践与部署4.3.3 低代码开发:快速构建行业应用(电商推荐与金融风控案例)1. 低代码与AI结合的核心价值2. 电商推荐系统案例2.1 技术架构与实现2.2 性能…...
基于vue框架的智能服务旅游管理系统54kd3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
系统程序文件列表 项目功能:用户,景点信息,门票预订,酒店客房,客房预订,旅游意向,推荐景点,景点分类 开题报告内容 基于Vue框架的智能服务旅游管理系统开题报告 一、研究背景与意义 1.1 行业现状与挑战 传统系统局限性:当前旅游管理系统普遍存在信息…...
用Python实现TCP代理
依旧是Python黑帽子这本书 先附上代码,我在原书代码上加了注释,更好理解 import sys import socket import threading#生成可打印字符映射 HEX_FILTER.join([(len(repr(chr(i)))3) and chr(i) or . for i in range(256)])#接收bytes或string类型的输入…...
MySQL的进阶语法7(索引-B+Tree 、Hash、聚集索引 、二级索引(回表查询)、索引的使用及设计原则
目录 一、索引概述 1.1 基本介绍 1.2 基本演示 1.3 特点及优势 二、索引结构 2.1 概述 2.2 二叉树 2.3 B-Tree 2.4 BTree 2.5 Hash 2.5.1 结构 2.5.2 特点 2.5.3 存储引擎支持 三、索引的分类 3.1 索引分类 3.2 聚集索引和二级索引 3.2.1 聚集索引和二级…...
【CSS3】04-标准流 + 浮动 + flex布局
本文介绍浮动与flex布局。 目录 1. 标准流 2. 浮动 2.1 基本使用 特点 脱标 2.2 清除浮动 2.2.1 额外标签法 2.2.2 单伪元素法 2.2.3 双伪元素法(推荐) 2.2.4 overflow(最简单) 3. flex布局 3.1 组成 3.2 主轴与侧轴对齐方式 3.2.1 主轴 3.2.2 侧轴 3.3 修改主…...
内网环境将nginx的http改完https访问
原文参考链接:https://www.cnblogs.com/leilcoding/p/16138778.html 编写生成证书的脚本 vim gen-ssl.sh #!/bin/sh # create self-signed server certificate: read -p "Enter your domain [www.example.com]: " DOMAIN echo "Create server key…...
使用 libevent 处理 TCP 粘包问题(基于 Content-Length 或双 \r\n)
在基于 libevent 的 TCP 服务器开发中,处理消息边界是常见需求。以下是两种主流分包方案的完整实现: 一、基于 Content-Length 的分包方案 1.1 数据结构设计 typedef struct {struct bufferevent *bev;int content_length; // 当前消息的预期长度int received_bytes; //…...
论坛系统的测试
项目背景 论坛系统采用前后端分离的方式来实现,同时使用数据库 来处理相关的数据,同时将其部署到服务器上。前端主要有7个页面组成:登录页,列表页,论坛详情页,编辑页,个人信息页,我…...
宠物店小程序怎么做?助力实体店实现营销突破
宠物店小程序怎么做?助力实体店实现营销突破 ——一个宠物店老板的“真香”实战分享 一、行业现状:线下宠物店的“流量焦虑” 作为开了3年宠物店的“铲屎官供应商”,这两年明显感觉生意难做了:某宝9.9包邮的狗粮、某团“满…...
《Mycat核心技术》第21章:高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)
作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀,…...
obsidian ios git同步
首先感谢几位博主的文章,我现在时间久了,未保存原文地址。以下是我自己的执行步骤总结。 应用商店安装 iSH 打开iSH,执行 apk update 安装下面软件,(我觉得只安装第一个应该就行,下次测试)。 …...
当 “原子” 遇上 “光腔”:量子计算的新舞台
在微观世界里,原子就像一个个会 “跳舞” 的小精灵,而科学家正试图用 “光的牢笼” 困住它们,让这些小精灵为量子计算 “打工”。最近,哈佛大学和 MIT 的研究团队在《科学》杂志上发表了一项突破性研究,他们让单个原子…...
移动端六大语言速记:第1部分 - 基础语法与控制结构
移动端六大语言速记:第1部分 - 基础语法与控制结构 本文将对比Java、Kotlin、Flutter(Dart)、Python、ArkTS和Swift这六种移动端开发语言的基础语法与控制结构,帮助开发者快速理解各语言间的差异与共性。 1. 基础语法 1.1 数据类型 各语言的基本数据…...
针对 SQL 查询中 IN 子句性能优化 以及 等值 JOIN 和不等值 JOIN 对比 的详细解决方案、代码示例及表格总结
以下是针对 SQL 查询中 IN 子句性能优化 以及 等值 JOIN 和不等值 JOIN 对比 的详细解决方案、代码示例及表格总结: 问题 1:IN 的候选值过多(如超过 1000 个) 问题描述 当 IN 列表中的值过多时,SQL 会逐个比较每个值…...
微信小程序唤起app
1、前提 1、app与小程序主体需一致,可以前往微信公众平台关联。 2、小程序的场景值为1069,也就是得从app打开小程序,小程序才能唤起app。 2、vue3代码示例 <template><view class"maxBox bgc"><button open-typ…...
深度学习Note.5(机器学习.6)
1.Runner类 一个任务应用机器学习方法流程: 数据集构建 模型构建 损失函数定义 优化器 模型训练 模型评价 模型预测 所以根据以上,我们把机器学习模型基本要素封装成一个Runner类(加上模型保存、模型加载等功能。) Runne…...
从零开始设计Transformer模型(1/2)——剥离RNN,保留Attention
声明: 本文基于哔站博主【Shusenwang】的视频课程【RNN模型及NLP应用】,结合自身的理解所作,旨在帮助大家了解学习NLP自然语言处理基础知识。配合着视频课程学习效果更佳。 材料来源:【Shusenwang】的视频课程【RNN模型及NLP应用…...
Uniapp 持续出现 Invalid Host/Origin header 解决方法
目录 前言1. 问题所示2. 原理分析前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn 1. 问题所示 执行代码的时候,源源不断,一直持续出现这个 Invalid Host/Origin header [WDS]...
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的缓存技术:使用 Redis 提升性能
<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开篇整…...
音视频 YUV格式详解
前言 本文介绍YUV色彩模型,YUV的分类和常见格式。 RGB色彩模型 在RGB颜色空间中,任意色光F都可以使用R、G、B三色不同的分量混合相加而成即: F = R + G + B.。即我们熟悉的三原色模型。 RGB色彩空间根据每个分量在计算机中占用的存储字节数可以分为以下几种类型,字节数…...
华为配置篇-BGP实验
BGP 一、简述二、常用命令总结三、实验 一、简述 IBGP 水平分割:从一个 IBGP 对等体学到的路由,不会再通告给其他的 IBGP 对等体。在一个 AS 内部,路由器之间通过 IBGP 交换路由信息。如果没有水平分割机制,当多个路由器之间形成…...
一个服务器算分布式吗,分布式需要几个服务器
一个服务器不构成分布式系统。分布式系统的核心在于多台独立的计算机(服务器)协同工作,通过通信网络共享资源、共同完成任务。以下是对问题的详细分析: 1. 单台服务器 ≠ 分布式 单台服务器的架构是集中式的,所有功能…...
vue element-ui 工程创建
vue element-ui 工程创建 按照步骤 : https://blog.csdn.net/wowocpp/article/details/146590400 创建工程 vue create demo3 cd demo3 npm run serve 在demo3 目录里面 执行如下命令 npm install element-ui -S 然后查看 package.json main.js 添加代码&…...
unity点击button后不松开通过拖拽显示模型松开后模型实例化
using System.Collections; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;[RequireComponent(typeof(Button))] // 确保脚本挂在Button上 public class DragButtonSpawner : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandle…...
arco design框架中的树形表格使用中的缓存问题
目录 1.问题 2.解决方案 1.问题 arco design框架中的树形表格使用中的缓存问题,使用了树形表格的load-more懒加载 点击展开按钮后,点击关闭,再次点击展开按钮时,没有调用查询接口,而是使用了缓存的数据。 2.解决方…...
《AI大模型应知应会100篇》第2篇:大模型核心术语解析:参数、Token、推理与训练
第2篇:大模型核心术语解析:参数、Token、推理与训练 摘要 本文将用通俗易懂的语言拆解大模型领域的四大核心概念:参数、Token、训练与推理。通过案例对比、代码实战和成本计算,帮助读者快速掌握这些术语的底层逻辑与实际应用价值…...
【28BYJ-48】STM32同时驱动4个步进电机,支持调速与正反转
资料下载:待更新。。。。 先驱动起来再说,干中学!!! 1、实现功能 STM32同时驱动4个步进电机,支持单独调速与正反转控制 需要资源:16个任意IO口1ms定时器中断 目录 资料下载:待更…...
手动实现一个迷你Llama:使用SentencePiece实现自己的tokenizer
自己训练一个tokenizertokenizer需要的模块SentencePiece 库tokenizer类中的初始化函数tokenizer类中的encode函数tokenizer类中的decode函数完整代码训练函数数据分片临时文件SentencePiece 训练参数 自己训练一个tokenizer tokenizer需要的模块 encode: 将句子转换为tokend…...
【超详细】讲解Ubuntu上如何配置分区方案
Ubuntu 的分区方案 一、通用分区方案(200G为例) EFI系统分区(仅UEFI启动模式需要,) 大小:512MB–1GB类型:主分区(FAT32格式)挂载点:/boot/efi说明࿱…...
