LoginSignup
7
8

More than 5 years have passed since last update.

Dockerを使ってswagger.yamlをサクッとみる

Posted at

前回、こちらの記事でNode.jsを使ったSwaggerによるAPI仕様書を見る方法を紹介しました。

しかし、

  • Node.jsなんて使ったことねーよ
  • このためだけにNode.jsインストールするとか面倒

という人もいるかもしれません。

そこで奥さん、Dockerを使って超カンタンにやる方法を紹介します。

前提

  • dockerコマンドが使えること
  • docker-composeコマンドが使えること

Docker for Mac, Docker for Windows, Docker ToolBox、ご自分の環境にあったものを用意しましょう。

ちなみに筆者の環境はこうです。

newgyu@newgyu-XPS-13-9350:~/Desktop/test$ uname -a
Linux newgyu-XPS-13-9350 4.4.0-33-generic #52-Ubuntu SMP Fri Jul 22 19:16:44 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

newgyu@newgyu-XPS-13-9350:~/Desktop/test$ docker version
Client:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:38:59 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:38:59 2016
 OS/Arch:      linux/amd64

newgyu@newgyu-XPS-13-9350:~/Desktop/test$ docker-compose --version
docker-compose version 1.6.2, build 4d72027

ファイルを用意する

ディレクトリ構造
.
├── docker-compose.yaml
└── example.yaml

用意するのはこの2つだけです。

docker-compose.yaml
viewer:
  image: newgyu/swagger-spec-viewer
  volumes:
  - "./example.yaml:/opt/swagger/api/swagger.yaml"
  ports:
  - "8080:8080"

example.yamlはswagger specificationに従って書かれたYAMLファイルです。(つまりはAPI仕様)

今回の例では http://editor.swagger.io/#/ こちらから拝借してきたものをGistに置いてありますので参照してください。

Screenshot from 2016-08-03 23-51-47.png

実行する

docker-compose.yamlが置いてあるディレクトリでdocker-compose upを実行してください。

newgyu@newgyu-XPS-13-9350:~/Desktop/test$ docker-compose up
Starting test_viewer_1
Attaching to test_viewer_1
viewer_1 | 
viewer_1 | > swagger-spec-viewer@1.0.0 prestart /opt/swagger
viewer_1 | > npm install
viewer_1 | 
viewer_1 | 
viewer_1 | > swagger-spec-viewer@1.0.0 start /opt/swagger
viewer_1 | > node index.js
viewer_1 | 
viewer_1 | Your server is listening on port 8080 (http://localhost:8080)
viewer_1 | Swagger-ui is available on http://localhost:8080/docs

example.yamlの記法が間違っていなければ上記のように8080ポートでswagger-spec-viewerが起動します。
http://localhost:8080/docs でexample.yamlの内容が見えるはずです。
(Docker ToolBoxを使っている場合は http://192.168.99.100/docs )
Screenshot from 2016-08-03 23-53-01.png

若干解説

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8