web-dev-qa-db-fra.com

Swagger s'exécutant avec un fichier json local dans Docker Image

Donc, je voulais exécuter l'interface utilisateur Swagger locale par rapport à Json local. Et pour cela, je suis les instructions disponibles ici :

Voici la commande qui est partagée dans cette documentation:

docker run -p 8081:8080 -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui

Ici, je comprends l'option - p mais cela - e et - v prête à confusion.

Supposons donc que j'ai conservé un fichier JSON sur mon bureau sous Mac dont le chemin est:

/Users/abc/Desktop/lp.json donc en ce qui concerne ce fichier, la commande sera changée en:

docker run -p 8081:8080 -e SWAGGER_JSON=/Users/abc/Desktop/lp.json -v /bar:/foo swaggerapi/swagger-ui

Mais qu'en est-il de la partie - v de la commande. Quelle est la valeur que je dois mettre en ce qui concerne l'option - v , bien que la commande de base soit:

docker run -p 8081:8080 swaggerapi/swagger-ui

Runs and SwaggerUI est disponible sur http: localhost: 8081 mais avec Json par défaut et pas avec mon Json, c'est-à-dire avec http://petstore.swagger.io/v2/swagger.json

Donc, ma requête est ce que dois-je apporter à la commande de docker qui exécutera l'image de SwaggerUI avec mon JSON local?

Veuillez aider. Merci d'avance. & Joyeux codage :)

10
Ankur Verma

Dans la commande docker -v signifie monter un volume et -e signifie ajouter des variables d'environnement, donc ce que vous voulez est probablement ceci:

docker run -p 8081:8080 -e SWAGGER_JSON=/mnt/lp.json -v /Users/abc/Desktop:/mnt swaggerapi/swagger-ui
16
psrcek

La façon dont cela a fonctionné pour moi sur Windows est la suivante:

docker run -p 80:8080 -e SWAGGER_JSON=/mnt/swagger-v1.json -v C:\Users\jimen\Downloads:/mnt swaggerapi/swagger-ui

C:\Users\jimen\Downloads est le dossier où se trouve le fichier swagger local (swagger-v1.json).

enter image description here

3
M.Octavio

Pour moi, la commande suivante a aidé

docker run -p 8081:8080 -e SWAGGER_JSON=/tmp/swagger.json -v `pwd`/docs:/tmp swaggerapi/swagger-ui:v3.21.0

'pwd'/docs => Contient mon fichier swagger.json.

swaggerapi/swagger-ui: v3.21.0 => Cette version est prise en charge SWAGGER_JSON. Elle est testée.

3
Siby Augustine