Как я могу использовать изображение докера dredd в интерактивном режиме?

Я хотел бы использовать этот док-контейнер apiaryio/dredd вместо пакет npm dredd. Я не знаком с запуском и отладкой образов докеров на основе npm. Как запустить базовый пример использования раздела пакета npm "Быстрый старт"

$ dredd init
$ dredd

если у меня есть файл Swagger вместо api-description.apib в $PWD/api/api.yaml или $PWD/api/api.json?


person thinwybk    schedule 12.04.2018    source источник
comment
Я попытался улучшить документы: dredd.org/en/latest/installation.html. #докер   -  person Honza Javorek    schedule 25.03.2019


Ответы (1)


TL;DR

Запустите образ dredd из командной строки. Изображение Dredd в Docker Hub

docker run -it -v $PWD:/api -w /api apiaryio/dredd init

[Необязательно] Превратите это в скрипт:

#!/bin/bash
echo '***'
echo 'Root dir is /api'
export MYIP=`ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'`
echo 'Host ip is: ' $MYIP
echo 'Configure URL of tested API endpoint: http://api-srv::<enpoint-port>. Set api-srv to point to your server.'
echo 'This script will set api-srv to docker host machine - ' $MYIP
echo '***'

docker run -it --add-host "api-srv:$MYIP" -v $PWD:/api -w /api apiaryio/dredd dredd $1

[Необязательно] И поместите этот скрипт в папку, которая находится в вашей переменной PATH, и создайте псевдоним для краткости.

alias dredd='bash ./scripts/dredd.sh'

Код на Github gist.

person Anderson Santos    schedule 25.06.2018
comment
Я попытался улучшить документы: dredd.org/en/latest/installation.html. #докер - person Honza Javorek; 25.03.2019