ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PowerShell 与 Docker 容器化管理完整教程:15 分钟快速跑通容器任务

PowerShell 与 Docker 容器化管理完整教程:15 分钟快速跑通容器任务 PowerShell 与 Docker 容器化管理完整教程15 分钟快速跑通容器任务【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell用 PowerShell 统一管理 Docker 容器从安装验证到拉取镜像、启动与停止容器再到把自己的 Cmdlet 封装进镜像。适合刚接触容器运维的新手照着敲命令约 15 分钟跑完全程。 场景一手工操作容器很麻烦脚本才是目标对比手工与脚本化操作的差距管理容器时你大概率反复做这几件事拉镜像、起容器、翻列表找 ID、停容器。操作手工方式PowerShell 脚本方式拉镜像 起容器每次手敲docker pull/docker run参数顺序容易写错封装成函数一行调用找目标容器肉眼看docker ps的纯文本输出输出直接进管道Where-Object按条件过滤跨系统执行Windows 与 Linux 上命令习惯不一致同一份.ps1脚本两边通用差别在于Docker CLI 输出的是文本而 PowerShell 处理的是对象和管道。把重复动作写进脚本后你只需要维护一份逻辑多台机器、多个环境共用。⚙️ 场景二在 Linux 上安装 PowerShell 7 并验证版本用官方安装脚本安装 PowerShell 7# 克隆 PowerShell 源码仓库 git clone https://gitcode.com/GitHub_Trending/po/PowerShell# 进入仓库后运行官方安装脚本需要 sudo 权限 bash tools/install-powershell.sh脚本会自动识别发行版并选择对应安装方式安装完成后用pwsh启动。用 $PSVersionTable 验证安装结果# 在 pwsh 中查看版本信息表 $PSVersionTable图PowerShell 终端中的 $PSVersionTable 输出示例含版本号、版本类型与系统信息重点看四个字段PSVersion是版本号PSEdition显示Core即 PowerShell 7OS和Platform确认你所在的系统与架构。四项都对说明环境准备完成。 场景三Docker 镜像拉取与容器启动命令拉取 PowerShell 基础镜像# 从微软容器注册表拉取 PowerShell 官方镜像 docker pull mcr.microsoft.com/powershell作用把镜像下载到本地后续启动容器不用联网下载。预期结果进度条跑完最后一行出现Status: Downloaded newer image。启动交互式 PowerShell 容器# 启动容器并进入交互式 pwsh 会话 docker run -it mcr.microsoft.com/powershell pwsh作用-it分配终端并附加容器内直接进入 PowerShell 环境。预期结果提示符变成PS /linuxhome此时你在容器里退出输入exit。查看容器列表并停止目标容器# 查看正在运行的容器 docker ps# 停止指定容器把 ID 换成上一步查到的短 ID docker stop ID作用docker ps列出运行中容器及其 IDdocker stop按 ID 优雅停止。预期结果docker ps中少了一行容器状态从 running 消失。把整套流程封装进 PowerShell 函数在pwsh里把常用动作包成函数以后一行完成起容器 看状态# 封装后台启动与查看供脚本复用 function New-PowerShellContainer { docker run -d --name ps-service mcr.microsoft.com/powershell pwsh docker ps --filter nameps-service }调用New-PowerShellContainer后终端会打印新容器的 ID 与状态。这个函数就是最小可用的容器管理工作流后续可以往里面加日志、健康检查。 场景四把自定义 Cmdlet 容器化创建 .NET Core 类库项目承载 Cmdlet图在 Visual Studio 中新建 Class Library (.NET Core) 项目命名为 SendGreetingCmdlet 本质是一个 C# 类库。建项目时选择 Class Library (.NET Core)命名如SendGreeting。引用 PowerShellStandard.Library 并编写 Cmdlet图NuGet 包管理器搜索并安装 PowerShellStandard.Library供跨平台 Cmdlet 开发使用在 NuGet 中安装PowerShellStandard.Library然后继承Cmdlet基类、打上[Cmdlet]特性重写ProcessRecord输出结果即可。仓库里有完整示例自定义 Cmdlet 教程。在容器内加载你的 Cmdlet把编译出的 DLL 放进镜像容器启动后加载# 在容器内导入自定义 Cmdlet 并调用 Import-Module .\SendGreeting.dll Send-Greeting -Name Container这样你的命令就跟着镜像走任何机器docker run之后Send-Greeting直接可用。不用展开完整工程细节思路就是DLL 进镜像模块随容器。 资源导航官方文档目录构建、调试、测试指南的总入口Linux 构建说明从源码编译 PowerShellDocker tarball 安装脚本离线环境下的容器化安装方式自定义 Cmdlet 示例两个从零开始的完整例子自动化测试目录语言、引擎、模块的回归测试Docker 目录说明镜像构建相关的位置说明环境搭好后建议下一步把场景三的New-PowerShellContainer函数扩展成你的第一条部署脚本放进test/powershell/的流程里跑一遍回归让它真正进入日常运维。【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表