如何以交互方式使用dredd docker图像?

时间:2018-04-12 16:47:58

标签: docker dredd

我想使用此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

1 个答案:

答案 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的代码。