インフラ

【Docker】Swaggerの環境をサクッと構築!【ReDoc】

swagger-redoc
野田竣介

API仕様書を作ることになり、Swaggerを使うことにしました。

そこでSwagger用の環境を用意したのでまとめておきます。

とは言ってもDockerで簡単に構築できるのでそれほど難しくないです。

では早速解説していきます!

環境
  • Docker version 20.10.10, build b485636
  • Docker Compose version v2.1.1

ディレクトリ構成

構成は以下のように非常にシンプルで、環境を構築するdocker-compose.ymlとAPIを定義をするopenapi.ymlの2つだけです。

$ tree
.
├── docker-compose.yml
└── openapi.yml

docker-compose.yml

docker-compose.ymlは以下のようになっています。

9000番ポートで接続できるようにしているので、こちらは必要に応じて変更してください。

version: '3.8'
services:
  redoc:
    image: 'redocly/redoc'
    ports:
      - '9000:80'
    volumes:
      - './openapi.yml:/usr/share/nginx/html/openapi.yml'
    environment:
      - 'SPEC_URL=openapi.yml'

openapi.yml

こちらにはAPI定義を記述してください。

このファイルを編集していくことになります。

起動

あとはdocker-composeコマンドで起動するだけです。

$ docker-compose up

起動できたら以下にアクセス!

http://localhost:9000

docker-compose.ymlのポートを変更していたらこちらのポートの変更も忘れずに!

あとがき

Dockerを使わないとnode入れたり、redoc-cli入れたり面倒なんですよね。

シンプルな構成で使い回しやすいので重宝しています。

環境はサクッと構築してAPI定義に注力しましょう!

記事URLをコピーしました