我想使用这个 docker 容器apiaryio/dredd而不是npm 包dredd
。我不熟悉运行和调试基于 npm 的 docker 镜像。如何运行npm 包“快速入门”部分的基本使用示例
$ dredd init
$ dredd
如果我有一个 Swagger 文件而不是api-description.apib
in$PWD/api/api.yaml
或$PWD/api/api.json
?
我想使用这个 docker 容器apiaryio/dredd而不是npm 包dredd
。我不熟悉运行和调试基于 npm 的 docker 镜像。如何运行npm 包“快速入门”部分的基本使用示例
$ dredd init
$ dredd
如果我有一个 Swagger 文件而不是api-description.apib
in$PWD/api/api.yaml
或$PWD/api/api.json
?
TL;博士
以命令行方式运行 dredd image。Docker Hub 上的 Dredd 图像
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上的代码。