温馨提示×

Ubuntu Swagger与Docker如何配合使用

小樊
64
2025-05-15 15:49:09
栏目: 智能运维

在Ubuntu上使用Swagger进行接口测试并通过Docker进行容器化部署,可以遵循以下步骤:

在Ubuntu上安装Swagger

  1. 安装Node.js和npm
sudo apt update
sudo apt install -y nodejs npm
  1. 安装Swagger Editor
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.16.1.tar.gz
tar -xvf v3.16.1.tar.gz
cd swagger-editor-3.16.1
npm install
http-server -p 8080

现在可以在浏览器中访问 http://localhost:8080 来使用Swagger Editor。

  1. 安装Swagger UI
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.48.0.tar.gz
tar -xvf v3.48.0.tar.gz
cd swagger-ui-3.48.0
npm install
http-server -p 8081

现在可以在浏览器中访问 http://localhost:8081 来使用Swagger UI。

  1. 配置Swagger Editor和Swagger UI
  • Swagger Editor:默认情况下会加载 https://petstore.swagger.io/v2/swagger.json,可以通过编辑 index.html 文件来更改默认的Swagger规范文件路径。
  • Swagger UI:在Swagger UI中,可以通过输入框输入Swagger规范文件(通常是 swagger.yamlswagger.json)的URL,然后点击“Explore”按钮来加载和测试API接口。

使用Docker容器化Swagger

  1. 创建Dockerfile
# 使用官方的Node.js镜像作为基础镜像
FROM node:14

# 设置工作目录
WORKDIR /usr/src/app

# 复制package.json和package-lock.json到工作目录
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制应用代码到工作目录
COPY . .

# 暴露Swagger UI和Swagger Editor的端口
EXPOSE 8080 8081

# 启动应用
CMD ["http-server", "-p", "8080"]
  1. 构建Docker镜像
docker build -t swagger-app .
  1. 运行Docker容器
docker run -p 8080:8080 -p 8081:8081 swagger-app

验证Swagger是否在Docker容器中正常工作

  • 打开浏览器,访问 http://localhost:8080 应该可以看到Swagger Editor。
  • 打开浏览器,访问 http://localhost:8081 应该可以看到Swagger UI,并且可以加载和测试API接口。

通过以上步骤,你可以在Ubuntu上成功安装和配置Swagger,并通过Docker进行容器化部署,从而方便地在不同环境中使用和分享。

0