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 :)
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
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.