Swagger UI Docker 部署实战:一条命令起服务,快速解决端口冲突
Swagger UI Docker 部署实战一条命令起服务快速解决端口冲突【免费下载链接】swagger-uiSwagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.项目地址: https://gitcode.com/GitHub_Trending/sw/swagger-uiSwagger UI 能把 Swagger 规范的接口文件渲染成带交互调试能力的 API 文档页面。这篇容器部署教程以 Swagger UI 官方镜像为例带你完成一次 Docker 部署一条命令起服务、看懂-p端口映射为什么会打架再按你的实际场景挑一个处理办法。⏱️ 30 秒上手一条命令跑起来先把仓库克隆下来方便对照 Dockerfile 和 docker/ 目录里的配置git clone https://gitcode.com/GitHub_Trending/sw/swagger-ui然后一条命令把官方镜像跑起来docker run -p 8080:8080 docker.swagger.io/swaggerapi/swagger-ui这条命令把容器内 Nginx 监听的 8080 端口映射到本机 8080 端口。浏览器打开http://localhost:8080看到 Swagger Petstore 的接口列表再顺手点一次 Explore部署就算成功了。 为什么端口会打架这个镜像本质是「Nginx 一段启动配置脚本」的打包Dockerfile 里通过ENV PORT8080让容器内 Nginx 默认监听 8080EXPOSE 8080只是声明真正生效的是环境变量PORT。所以涉及两层端口容器端口Nginx 实际监听由PORT控制和主机端口你机器上的端口-p 主机端口:容器端口负责把两者接起来。映射的右值必须等于容器实际监听端口流量才进得去现象含义对应处理起容器时报port is already allocated主机端口被别的进程占着换一个空闲主机端口浏览器打不开容器状态却是 Up-p右值没对准PORT映射落空让映射右值与PORT一致同事机器上能访问你的不行大概率是本机端口被占用先查宿主机的占用进程️ 按场景挑解法日常开发换个没被占用的端口开发机上 80、8080 经常被各种服务抢占换个空闲端口最省事不用动任何配置docker run -p 8081:8080 docker.swagger.io/swaggerapi/swagger-ui容器内端口不动只把入口换到 8081。访问地址记得跟着变成http://localhost:8081。生产环境固定端口必要时加上 IPv6生产上希望地址稳定就把容器内监听和主机端口一起固定下来docker run -p 80:80 -e PORT80 docker.swagger.io/swaggerapi/swagger-ui-e PORT80让容器内 Nginx 也监听 80-p 80:80内外对齐。注意生产机器的防火墙、上游反向代理要同步放行若同时要支持 IPv6可再加-e PORT_IPV680镜像会据此追加一条 IPv6 监听规则。团队协作用 Compose 固化端口每次手动敲-p容易敲错把端口映射和环境变量写进docker-compose.yml一次固化services: swagger-ui: image: docker.swagger.io/swaggerapi/swagger-ui ports: - 8080:8080 environment: PORT: 8080docker compose up -d文件提交进仓库后任何人拉下来起的端口都一致改配置也只需改这一处。疑难杂症用日志和网络排查端口冲突时先确认宿主机上到底是谁占着lsof -i :80输出里的 PID 就是占用进程的编号kill PID停掉它即可误杀无关紧要的测试进程倒是常见操作。映射看起来没问题但就是连不上多半是网络模式的问题看一眼容器实际的端口映射配置docker logs 容器ID docker inspect 容器ID --format{{json .NetworkSettings.Ports}}docker logs通常能直接看到端口冲突的报错inspect的输出能确认-p最终生效成了什么。 顺手做的高级配置端口理顺之后有两个环境变量值得顺手配上。想让页面一打开就展示你自己的接口文档直接给文档 URLdocker run -p 8080:8080 -e SWAGGER_JSON_URLhttps://petstore3.swagger.io/api/v3/openapi.json docker.swagger.io/swaggerapi/swagger-ui本地文档文件也可以挂载进容器SWAGGER_JSON指向容器内的路径docker run -p 8080:8080 -e SWAGGER_JSON/foo/swagger.json -v /bar:/foo docker.swagger.io/swaggerapi/swagger-ui/bar是宿主机目录、/foo是容器内目录文档更新后重启容器即可生效。镜像内的 Nginx 默认配置见 docker/default.conf.template真正的定制入口是 docker/docker-entrypoint.d/40-swagger-ui.sh 这段启动脚本——它读取环境变量后生成最终配置所以BASE_URL换访问路径、EMBEDDINGtrue允许 iframe 嵌入这类调整优先用环境变量而不是改模板。延伸阅读端口和部署细节想再核对一遍docs/usage/installation.md 的 Docker 一节写得很全。祝部署顺利别再被端口卡住。【免费下载链接】swagger-uiSwagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.项目地址: https://gitcode.com/GitHub_Trending/sw/swagger-ui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

视频补帧实战指南:解决劈叉舞慢动作卡顿与重影问题

视频补帧实战指南:解决劈叉舞慢动作卡顿与重影问题

“补帧”这词在网络视频处理里已经被说得很神,但放到劈叉舞(Split Dance / スプリットダンス)这类素材上,很多人第一次跑完会一脸疑惑:为什么动作还是不够顺,甚至有些地方出现“重影”和“果冻状扭曲”&…

2026/11/11 19:20:10 阅读更多 →
学习机芯片性能测评:用《我的世界》判断SoC真实水平

学习机芯片性能测评:用《我的世界》判断SoC真实水平

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/11 19:20:10 阅读更多 →
游戏文本解析实战:基于NLP与自定义词典的实体提取

游戏文本解析实战:基于NLP与自定义词典的实体提取

在实际游戏开发或玩家社区运营中,我们有时会遇到一些由用户生成的、看似无厘头的标题或内容。这类内容往往融合了特定游戏的术语、玩家社群的黑话以及高度个人化的表达,例如“蛋仔派对惊魂寻宝队超级炸裂胜利 星王雷钻星红帽的第九个食神奖杯&#xff01…

2026/11/8 11:07:48 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻