我想使用此docker容器apiaryio/dredd而不是npm package dredd
。我不熟悉运行和调试基于npm的docker镜像。如何运行npm package "Quick Start" section
$ dredd init
$ dredd
如果我有一个Swagger文件而不是api-description.apib
或$PWD/api/api.yaml
中的$PWD/api/api.json
?
答案 0 :(得分:1)
TL; DR
将dredd图像作为命令行运行。 Dredd Image at 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的代码。