docker-composeでSwagger【Swagger】【Docker】
docker-compose経由でSwagger UIを起動する方法を紹介します。
docker-composeは.yamlにswaggerに関する命令を記述すれば大丈夫です。
services: ... swagger: image: swaggerapi/swagger-ui volumes: - ./api/src/docs/swagger.yaml:/swagger.yaml ports: - "8080:8080" environment: SWAGGER_JSON: /swagger.yaml # API_URL:
services配下にswaggerに関して記述します。
imageは公開されているswaggerapi/swagger-uiを指定します。
environment配下には、yamlまたはjsonファイルを読み込む方法を指定します。SWAGGER_JSONは、コンテナに配置したファイルを読み込む場合に使用します。API_URLはurlを指定して読み込む場合に使用します。
SWAGGER_JSONを使用する場合、volumesにはアップロードするyamlもしくはjsonファイルを指定します。
portsには、コロンを挟んで左側にホスト側のポート、右側に割り当てる先のコンテナのポートを指定します。
yamlはswaggerのルールに従って記述し、docker-compose.yamlに指定したディレクトリに配置します。
その上で、上記例ですと、ポート8080(例:localhost:8080)にアクセスすることでSwagger UIが表示されます。
swagger-uiの他にも、swagger-editorなどがあります。