当前位置: 首页 > news >正文

ret2shell靶场运维学习:把docker上传到平台

Ret2Shell 使用本地/超长 Docker 镜像

前提是要把镜像搜索功能关闭,可以看前一篇帖子:https://www.cnblogs.com/ljnljn/p/20082947

目标

让 Ret2Shell 平台启动题目环境时使用你本地构建的镜像或因超长而无法导入平台中的镜像,而不是去公网 Docker Hub 拉取。

关键概念

平台创建的是 Kubernetes Pod。Kubernetes 节点默认看不到你本机 Docker 里的镜像。

所以不要只在本机保留:

phpserialize-labs:latest

而是要把镜像推送到平台内置 registry,再让平台使用完整镜像地址。

当前平台 registry 地址:

localhost:30310

镜像地址示例:

localhost:30310/phpserialize-labs:v1

推荐做法:不用 latest

每次构建后使用固定版本 tag,不复用 latest

例如:

docker tag phpserialize-labs:latest localhost:30310/phpserialize-labs:v1
docker push localhost:30310/phpserialize-labs:v1

** 提示:超长的docker镜像也先拉取下来再用docker tag指令修改为localhost:30310/仓库的镜像再到平台上传

如果后续镜像有更新,换一个新 tag:

docker tag phpserialize-labs:latest localhost:30310/phpserialize-labs:v2
docker push localhost:30310/phpserialize-labs:v2

平台里怎么填

容器名称字段只填 Kubernetes 容器名,不能填镜像地址。

正确示例:

容器名称:phpserialize-labs
镜像标签:localhost:30310/phpserialize-labs:v1

image-20260519161921815

容器名称规则:

3-40 位
以小写字母开头
只能包含小写字母、数字、连字符 -
不能以连字符结尾

所以这些是错误的容器名称:

localhost:30310/phpserialize-labs:v1
phpserialize_labs
PhpSerialize
phpserialize-labs-

如果使用比赛 bucket(目前用不上)

有些场景会按比赛 bucket 隔离镜像,可以把镜像推到 bucket 路径下:

docker tag phpserialize-labs:latest localhost:30310/<bucket>/phpserialize-labs:v1
docker push localhost:30310/<bucket>/phpserialize-labs:v1

平台里填:

localhost:30310/<bucket>/phpserialize-labs:v1

常见问题

保存失败: undefined

通常是题目处于公开状态,Ret2Shell 不允许公开题目时修改环境配置。

处理:

  1. 先把题目 Down / 隐藏 / 下线
  2. 修改并保存环境配置
  3. 再把题目 Up / 公开

平台仍然去公网拉取

通常原因:

  • 镜像字段没有填写完整 registry 地址
  • 把镜像地址误填到了“容器名称”字段
  • 使用了 phpserialize-labs:v1,Kubernetes 会解析成 Docker Hub 镜像
  • Kubernetes 节点访问不到 localhost:30310

应填写:

localhost:30310/phpserialize-labs:v1

docker push 报 HTTPS 或 insecure registry 错误

需要让 Docker daemon 允许不安全 registry:

{"insecure-registries": ["localhost:30310"]
}

修改后重启 Docker。

localhost:30310 到底是什么

它是平台内置 registry 暴露出来的地址。

流程是:

本地 Docker 镜像-> docker push 到 localhost:30310-> Kubernetes 节点从 localhost:30310 拉取-> 平台启动题目容器

如果 Kubernetes 节点和你执行 docker push 的机器不是同一台,localhost:30310 可能不适合给节点拉取,需要改成节点可访问的 IP 或域名。

http://www.zskr.cn/news/1320547.html

相关文章:

  • VSCode嵌入式开发入门:从安装Embedded IDE插件到成功编译第一个STM32程序
  • 为Hermes Agent配置自定义Provider并接入Taotoken多模型广场
  • 从滚珠丝杠到控制信号:手把手拆解‘惯容器’在ADD悬架中的动力学建模与仿真
  • 从‘秦皇岛今天晴空万里’到HMM:一文搞懂NLP分词中的序列标注到底在标什么
  • 书匠策AI论文生存指南:降重降AIGC,2025届毕业生的“反内卷外挂“
  • 使用Taotoken后API调用延迟显著降低且账单清晰可追溯
  • ROC-RK3568-PC开发板深度评测:从硬件解析到AIoT实战应用
  • 苏州5家黄金奢侈品回收机构实力评级,从报价到回款全程实测 - 奢侈品回收测评
  • 智能对象替换革命:Illustrator自动化工作流的核心引擎
  • 边缘计算AI盒子4路AHD、4路千兆网、4G/5G通讯,标准API接口,兼容Modbus、DLT645、OPC UA等多种行业协议
  • Perplexity认证黄金窗口期即将关闭:2024年Q4起将启用L3难度动态题库,现在拿证=锁定AI可信度背书
  • 从总线到片上网络:高性能SoC互连架构演进与实战解析
  • 2026年宁夏B2B企业短视频获客与AI-GEO推广完全指南:银川品牌策划与网络营销服务商深度横评 - 精选优质企业推荐官
  • 为OpenClaw配置Taotoken后端扩展其AI助手的数据处理能力
  • 在 GitHub Actions 中集成 Taotoken 实现大模型 API 自动化调用
  • RK3588模块化主机设计:从核心架构到边缘AI应用实战
  • 2026年北京抖音推广代运营与AI搜索优化服务商深度横评指南 - 企业名录优选推荐
  • 基于Next.js与Shadcn/ui的现代Web仪表盘开发实战指南
  • 通过Taotoken CLI工具一键配置本地多个AI开发环境
  • 国内排名靠前的养老院设计公司行业发展观察 - 品牌排行榜
  • 2026苏州大牌包回收行情,本地市场行情深度解读 - 奢侈品回收测评
  • AI+STEAM教育方案:基于边缘计算的智能硬件与算法部署实践
  • 如何永久保存微信聊天记录:WeChatMsg开源工具的完整解决方案
  • 网易云音乐API:构建现代音乐应用的技术架构深度解析
  • 一站式出海营销服务商哪家好?海外整合营销公司+外贸B2B营销获客公司+品牌出海一站式营销公司推荐(附带联系方式) - 品牌2025
  • 沈阳实地探访大牌包包回收实体店,拆解行业常规评估方式 - 奢侈品回收测评
  • Taotoken的Token Plan套餐如何实现更可控的消费预算
  • 2026深圳专业搬家收费标准 大件搬运收费全解 - 从来都是英雄出少年
  • 手把手教你用STM32F103驱动TLC7528双路DAC(附完整代码与避坑指南)
  • 从FLAN-T5到你的专属模型:如何用公司内部客服聊天记录做领域微调(附DialogSum实操对比)