PowerShell + Docker:一套容器运维脚本跑三端

发布时间:2026/10/24 6:48:54

PowerShell + Docker:一套容器运维脚本跑三端 PowerShell Docker一套容器运维脚本跑三端【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShellLinux 服务器上管容器靠 bash 脚本、Windows 桌面上再抄一套这是最常见的抱怨。PowerShell 配合 Docker 之后一套脚本管所有平台。本文覆盖三层能力容器里跑 pwsh、管道处理容器数据、写无人值守清理脚本。 能力总览PowerShell 对接 Docker 能做什么以下五项能力均可直接用且都跑在 pwsh 7.x 上Linux、Windows、macOS 通用不依赖 Windows PowerShell 5.1能力能做什么跨平台统一语法同一脚本在 Windows、macOS、Linux 的 pwsh 里运行差异只有少量路径与环境变量管道处理容器数据把 docker 的文本输出转成对象一次过滤、聚合容器生命周期自动化批量启动、停止、清理配合计划任务实现无人值守Engine API 直连用 Invoke-RestMethod 调 Docker HTTP 接口Windows 上 7.2 可原生连命名管道打包成跨平台模块把管理逻辑编成 .NET Standard 二进制 Cmdlet全团队复用▶️ 场景A一条命令在容器里跑 pwsh 并拿回版本号最高频的用法是在干净容器里跑一句命令就退出不留残留。下面这条命令就是干这个的--rm让容器退出即删-NoProfile跳过配置文件加载docker run --rm mcr.microsoft.com/powershell pwsh -NoProfile -Command $PSVersionTable.PSVersion.ToString()预期输出是一行版本号比如7.5.0具体取决于你拉取的镜像 tag。镜像 tag 决定容器内 pwsh 版本生产环境把 tag 写死等于把脚本运行环境也钉死了这个模式可以直接当 CI 里的标准环境探针用。 场景BPowerShell 管道批量清理已退出容器容器批量跑完比如部署结束后会攒下一堆 Exited 状态的容器。思路是docker 只负责吐数据过滤和删除全部走 PowerShell 对象分先列清单、再执行两步$exited docker ps -a --filter statusexited --format {{.ID}},{{.Names}} | ConvertFrom-Csv -Header id,name -Delimiter , $exited | Format-Table id, name # 先看清单 $exited | ForEach-Object { docker rm $_.id } # 确认无误再批量删第一句执行完得到对象清单最后一句执行时 docker 会逐个打印被删的容器 ID。为什么这样组合docker 负责数据、PS 负责逻辑清单只有一个来源脚本在 Windows 和 Linux 上原样能跑将来要加日志、加通知加一行就行不用重写循环。这种先取数再执行的模式可以平移到批量重启失败容器只换过滤条件。⚠️ 踩坑与调优权限、命名管道与字段错位三个高频问题各按现象→原因→解法讲。1. 连接 daemon 报permission denied现象Linux 的 pwsh 里docker ps报permission denied ... unix:///var/run/docker.sock同一脚本在 Windows 上好使。 原因Linux 上 daemon 的 socket 默认只允许 root 和 docker 组访问Windows 的 daemon 是系统服务没有这层权限差异。 解法sudo usermod -aG docker $USER然后注销重登生效脚本里就不用再写 sudo。2. Engine API 直连时 Windows 与 Linux 地址不同现象用 Invoke-RestMethod 调 Docker Engine API 的跨平台脚本Linux 能通、Windows 连不上。 原因Windows 的 daemon 只监听命名管道\\.\pipe\docker_engine不是文件 socket。 解法pwsh 7.2 起命名管道可以直接当端点用按平台分支$endpoint if ($IsWindows) { npipe://./docker_engine } else { /var/run/docker.sock }先用$IsWindows验证分支Windows 上应为 True。如果根本不需要直连 API统一走 docker CLI 即可socket 细节完全不用碰。3.Status字段带空格导致列错位现象docker ps --format {{.ID}} {{.Image}} {{.Status}}的输出用 ConvertFrom-Csv 解析Up 2 hours被拆成两列后面整列错位。 原因默认按空格切分字段值本身含空格时每行字段数不固定。 解法format 里改用逗号分隔并显式声明表头docker ps -a --format {{.ID}},{{.Image}},{{.Status}} | ConvertFrom-Csv -Header id,image,status -Delimiter ,执行后得到三列表格第三列保持完整字符串。 延伸路径安装脚本、模块示例与测试docker/InstallTarballPackage.sh官方 Docker 镜像怎么从 tarball 装 PowerShell 到/opt/microsoft/powershell并建/usr/bin/pwsh软链想自建基础镜像先读它。tools/install-powershell.sh宿主机安装脚本想在服务器上直接装 pwsh 时用得上。docs/cmdlet-example/command-line-simple-example.md用 dotnet CLI 把容器管理逻辑编成跨平台二进制模块的完整示例从建项目到跑通 Cmdlet。Visual Studio 新建项目对话框项目类型选为 Class Library (.NET Core)截图中项目名为 SendGreetingtest/powershell/平台测试套件想看官方测试如何验证各平台行为一致看这里。组合的适用边界很清楚需要频繁脚本化的轻量容器运维多机编排和调度仍交给专用编排工具。下一步建议先给自己机器写一个清理脚本要扩大给团队复用再按延伸路径做二进制模块。【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/23 8:33:20

7款AI论文生成器实测打分,2026年哪款值得用

毕业论文写到第三稿,导师在批注里连问三个"这部分论证依据是什么",身边同学已经开始用AI论文生成器搭初稿框架。市面上的工具宣传一个比一个猛,实际用起来到底差多少,没人给过准话。花了三周时间,用同一篇本…

2026/10/23 20:32:07

7款降重会改坏论文吗?实测打分各有侧重(2026)

降重会不会影响质量,是每个用过降重工具的人都绕不开的顾虑。花了几个小时把重复率压下去,结果导师一句“语句不通顺”打回来重写,比不改还难受。这次我花了三周时间,用一篇8000字的经管类论文初稿,对市面上7款主流降重…

2026/10/25 0:12:24

Matlab双目立体视觉工程实践:从标定到点云重建完整链路

简介:本资源是面向计算机视觉初学者与Matlab实践者的双目立体视觉完整实现方案,聚焦三维重建核心流程,解决从图像采集到深度图生成的技术闭环问题。压缩包共10个文件,含4个核心Matlab脚本(实现相机标定、特征匹配、本质…

2026/10/25 0:12:24

C++面向对象实战:多项式类与String类的内存安全实现

简介:本资源是吉林大学《面向对象程序设计》课程配套的C上机实验报告,面向计算机专业本科生及C初学者,聚焦面向对象核心能力训练,解决多项式类设计中动态内存管理、运算符重载、多文件组织等典型实践难点。压缩包为单个303KB的Wor…

2026/10/25 0:07:23

OpenGL面试核心考点:渲染管线、矩阵变换与性能排查全解析

简介:这是一份面向图形学求职者与3D开发者的OpenGL面试题资料,围绕计算机图形学核心考点整理,适合准备图形渲染、游戏引擎方向面试的中高级开发者查漏补缺。压缩包内共1个doc文档,约19KB,内容以问答形式覆盖渲染对象矩…

2026/10/25 0:07:23

防幻觉智能体架构:电源硬件设计中的大模型编排与工具化实践

做电源硬件设计的朋友应该都有过这种体验:拿着一个拓扑方案去问大模型,它给出的电感值计算得头头是道,结果你拿公式反推一遍,发现纹波电流系数根本对不上;或者它信誓旦旦推荐某款MOSFET,说vgs阈值多完美&am…

2026/10/25 0:02:23

K8s架构与核心组件复习:监控日志、生命周期、调度存储安全

简介:这份「Kubernetes课件分享」面向刚接触容器编排的开发者、运维人员与云计算学习者,围绕k8s基础入门与核心知识梳理展开,可帮助读者建立集群架构、资源对象与日常运维的整体认知。课件内容覆盖k8s基本概念、集群组件、Pod与Controller、S…

2026/10/25 0:02:23

VC++6.0实战:5个递进实验打通C++面向对象工程能力

简介:这是一份面向C初学者与高校实验教学场景的《C实验指导书》,聚焦面向对象程序设计核心能力培养,特别适合作为自主学习训练或课堂教学配套实践材料。全书以“图书管理系统”为贯穿项目,采用任务分解式教学法,系统组…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑