SwaggerをDocker-composeで動かすまでをまとめてみた


はじめに

未来電子テクノロジー(https://www.miraidenshi-tech.jp/intern-content/program/)
でインターンをしているrayaと申します。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

今回の内容

Docker-composeを導入したDjangoプロジェクトで、Swaggerを動かすまでをまとめてみました。

Swaggerとは

Swaggerとは、OpenAPIを使用するためのツール群のことです。
OpenAPIとは、REST APIsを簡単に作成するためのフォーマットのことです。
↓REST APIについてはこの記事が参考になります。
https://qiita.com/masato44gm/items/dffb8281536ad321fb08

Swaggerのツールには大きく以下のものがあります。
これらのツールを用いて、Swagger Specを操作します。
Swagger SpecとはJSONかYAML形式で記述されたSwaggerの仕様書を指します。

・Swagger Editor
ブラウザ上で操作できるエディターです。Open APIsの仕様を記述できます。

・Swagger UI
Open APIsの記述(Swagger Specで定められた仕様)をレンダリングします。

・Swagger Codegen
Open APIsの記述からserver stubsやclient librariesを生成します。
server stubsはサーバーがデータを受信した際の挙動をテストするためのものです。
client libraryは、特定の機能を持った一連のコードのことで、開発中のプロジェクトに追加することで機能を追加できます。

Docker-composeを導入

以下の記事をご覧ください。
Docker-composeをDjangoにセットアップしてみた
開発環境を汚さずに、お手軽にSwaggerを使えるので、Docker環境で行うと良いかもしれません。

DockerでSwaggerを起動

今回はSwagger UIをDocker環境に取り込んで、起動させます。
https://hub.docker.com/r/swaggerapi/swagger-ui/

まずはSwagger UIを仮想環境に取り込みます。

$ docker pull swaggerapi/swagger-ui

Docker-composeを起動します。

$ docker-compose up -d

Swagger UIを起動します。

$ docker run -d -p 80:8080 swaggerapi/swagger-ui

終了する

終了する場合は、Dockerで起動したコンテナを停止させます。
そのために、docker psコマンドでCONTAINER IDを表示させます。
今回は適当にaaaaaaaaaaaaとしています。

$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS               NAMES
aaaaaaaaaaaa   

次に、docker stopコマンドで先ほどのCONTAINER IDを指定します。
これでコンテナが終了します。

$ docker stop aaaaaaaaaaaa
aaaaaaaaaaaa

参考

https://swagger.io/docs/specification/about/
https://qiita.com/aucfan-engineer/items/5532fcf69b4f4dcd1c41
https://qiita.com/hiyuzawa/items/81490020568417d85e86