公式でもdockerコンテナ使うやり方が書いてあるが、エラーが出てしまいうまく動かなかった。
ローカルにはインストールできたのでDockerfileがよろしくないのか、なんなのか??
ともあれ、docker-composeで作ってある既存の開発環境に組み込みたかったので、自分でDockerfileを作成して組み込んだメモ。
Docker Compose の場合
- ./docker-compose.yml
docker-compose.yml
...
(下記を追記)
swagger:
container_name: swagger
tty: true
build: ./docker/swagger
ports:
- "8080:8080"
- ./docker/swagger/Dockerfile
Dockerfile
FROM node:wheezy
WORKDIR /var
RUN git clone https://github.com/swagger-api/swagger-ui.git
WORKDIR /var/swagger-ui
RUN git checkout --force refs/tags/v2.1.4
RUN npm install && npm run build
CMD npm run serve
- readmeの
Compatibility
で、2.1.4がstableっぽかったので変更しています
単体コンテナの場合
./docker/swagger/Dockerfile
があるとして
$ docker build -t api/swagger:v2.1.4 ./docker/swagger
$ docker run -d -p 8080:8080 --name swagger api/swagger:v2.1.4
メモ
jsonはhttp経由で参照する必要があり、別サーバのjsonを参照する場合はjson提供サーバにCOR対応を行う必要があります
ググるのが面倒ならこの記事の「swagger-ui > ドキュメント参照」を参照してみてください。