全流程梳理(镜像构建→推送→公开验证→调试踩坑修复) 一、镜像推送至GHCR成功环节本地镜像打GHCR规范标签docker tag pdu-tool:v1.0 ghcr.io/zhh9126/pdu-tool:latestdocker tag pdu-tool:v1.0 ghcr.io/zhh9126/pdu-tool:v1.0推送镜像到ghcr.io推送latest标签分层全部上传成功docker push ghcr.io/zhh9126/pdu-tool:latest推送v1.0固定版本镜像分层复用无需重复上传docker push ghcr.io/zhh9126/pdu-tool:v1.0GitHub网页操作将pdu-tool包从Private私有改为Public公开外部机器无需登录即可拉取二、本地验证镜像可用性全部功能正常删除本地原始镜像测试公网拉取删除本地构建镜像docker rmi pdu-tool:v1.0从GHCR拉取公开镜像docker pull ghcr.io/zhh9126/pdu-tool:latest业务功能测试工具运行正常查看帮助文档参数解析正常docker run --rm ghcr.io/zhh9126/pdu-tool:latest --help启动交互式PDU恢复工具docker run --rm ghcr.io/zhh9126/pdu-tool:latest --pgdata /pgdb/data进入容器内部调试验证容器文件docker run -it --rm --entrypoint /bin/bash ghcr.io/zhh9126/pdu-tool:latest容器内查看脚本文件ls直接执行脚本功能正常python pdu.py三、后台常驻容器踩坑完整修复步骤问题1直接后台运行sleep指令失败错误命令错误镜像默认ENTRYPOINT是python pdu.py会把sleep当成脚本参数执行直接异常退出docker run -d --name pdu-shell ghcr.io/zhh9126/pdu-tool:latest sleep infinity现象容器启动后立刻Exited (2)退出无法exec进入问题2命令行语法输入错误docker p s / docker -s -a / docker -ps -a正确查看容器命令docker ps运行中、docker ps -a全部容器容器内无法执行llpython-slim镜像未预装ll别名仅能用ls完整正确后台常驻容器操作流程删除残留失效容器名称冲突docker rm pdu-shell指定–entrypoint覆盖默认启动程序后台常驻docker run -d --name pdu-shell --entrypoint /bin/bash ghcr.io/zhh9126/pdu-tool:latest -c “tail -f /dev/null”查看容器状态确认Up运行docker ps -a交互式进入后台容器docker exec -it pdu-shell /bin/bash四、最终可用标准命令汇总用户直接使用工具一次性运行自动清理查看帮助docker run --rm ghcr.io/zhh9126/pdu-tool:latest --help业务执行docker run --rm ghcr.io/zhh9126/pdu-tool:latest --pgdata /pgdb/data2. 临时调试容器用完即删docker run -it --rm --entrypoint /bin/bash ghcr.io/zhh9126/pdu-tool:latest3. 长期后台调试容器创建常驻容器docker run -d --name pdu-shell --entrypoint /bin/bash ghcr.io/zhh9126/pdu-tool:latest -c “tail -f /dev/null”进入容器docker exec -it pdu-shell /bin/bash用完清理docker rm -f pdu-shell4. 镜像推送/拉取标准命令推送新版本docker build -t pdu-tool:v1.0 .docker tag pdu-tool:v1.0 ghcr.io/zhh9126/pdu-tool:latestdocker tag pdu-tool:v1.0 ghcr.io/zhh9126/pdu-tool:v1.0docker push ghcr.io/zhh9126/pdu-tool:latestdocker push ghcr.io/zhh9126/pdu-tool:v1.0任意服务器拉取使用docker pull ghcr.io/zhh9126/pdu-tool:latest五、核心总结镜像构建、GHCR推送、公开权限配置全部完成外部网络可正常拉取工具业务功能完整–help、交互式PDU控制台均可正常使用后台常驻容器必须覆盖entrypoint否则会使用python pdu.py接收sleep参数导致启动失败容器操作命令严格区分docker ps无横杠禁止简写/乱加参数。
💡
读完这篇文章,你可以带走什么

本文来自编程新知一线开发与建站实战沉淀:讲清原理、给出可复现步骤、标注避坑要点。看完后可以直接在你的项目或网站中落地验证。

编
编程新知内容团队
一线开发 · 建站实施 · 持续更新
由资深前端工程师、后端架构师与建站实施人员共同维护,坚持"真实案例 + 完整步骤 + 避坑指南"的内容准则。如果你在落地中遇到问题,欢迎联系我们交流。

想把这套方案用到自己的项目上?

编程新知提供技术答疑与网站建设一站式服务,欢迎联系我们获取针对性建议。

联系工程师
📚

系统学习该技术

进入对应栏目,从基础到进阶完整学习,配套案例与避坑指南。

前往栏目 →
🏗️

需要落地实施

企业建站、SEO 优化、服务器部署等需求,交给工程师一步到位。

了解服务 →
💬

还有疑问

技术难题或方案咨询,联系编程新知获取一对一的专业建议。

联系我们 →