Luego de de nuestra larga recopilación de datos dimos con la solución esta preocupación que presentan algunos usuarios. Te dejamos la respuesta y deseamos que te resulte de mucha apoyo.
Solución:
Asegúrese de que está montando el volumen en el directorio local correcto.
Localmente, tenía mi configuración de swagger en $PWD/src/app/swagger/swagger.yaml
. Ejecutar lo siguiente funcionó bien:
docker run -p 80:8080 -e SWAGGER_JSON=/tmp/swagger.yaml -v `pwd`/src/app/swagger:/tmp swaggerapi/swagger-ui
Simplemente actualizar la página de Swagger-UI o hacer clic en el botón “Explorar” en el encabezado provocó una actualización de los datos de mi archivo YAML.
También puede especificar BASE_URL
extracto de la instalación de swagger
docker run -p 80:8080 -e BASE_URL=/swagger -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui
Así es como terminé resolviendo esto, también te permite tener múltiples archivos YML:
docker run -p 80:8080
-e URLS_PRIMARY_NAME=FIRST
-e URLS="[
url: 'docs/first.yml', name: 'FIRST'
, url: 'docs/second.yml', name: 'SECOND'
]"
-v `pwd`:/usr/share/nginx/html/docs/
swaggerapi/swagger-ui
Encontré este tema porque quería ver una representación visual de mi archivo swagger local, pero no podía hacer que swagger-ui (ejecutándose en docker) mostrara otra cosa que no fuera la tienda de mascotas.
En última instancia, mi problema fue comprender los indicadores -e SWAGGER_JSON y -v, por lo que quería explicarlos aquí.
-v :
Esta opción dice “Montar la ruta
-e SWAGGER_JSON=
Esta opción dice “De forma predeterminada, mostrar el swagger para el archivo en
Poniéndolo todo junto, terminé con lo siguiente:
docker run -p 8085:8080 -e SWAGGER_JSON=/foo/swagger.json -v `pwd`:/foo swaggerapi/swagger-ui
Esto dice en inglés: “Ejecute mi instancia de swagger-ui en el puerto 8085. Monte mi directorio de trabajo actual como ‘/foo’ en el contenedor acoplable. De manera predeterminada, muestre el archivo swagger en ‘/foo/swagger.json'”.
Lo importante a tener en cuenta es que tengo un archivo llamado swagger.json en mi directorio de trabajo actual. Este comando monta mi directorio de trabajo actual como /foo en el contenedor docker. Luego, la interfaz de usuario de swagger puede seleccionar mi swagger.json como /foo/swagger.json.
Si haces scroll puedes encontrar las aclaraciones de otros creadores, tú también eres capaz insertar el tuyo si dominas el tema.