【问题标题】:How can I use a dredd docker image interactively?如何以交互方式使用 dredd docker 映像?
【发布时间】:2018-04-12 16:47:57
【问题描述】:

我想使用这个 docker 容器 apiaryio/dredd 而不是 npm package dredd。我不熟悉运行和调试基于 npm 的 docker 镜像。如何运行npm package "Quick Start" section的基本用法示例

$ dredd init
$ dredd

如果我有一个 Swagger 文件而不是 $PWD/api/api.yaml$PWD/api/api.json 中的 api-description.apib

【问题讨论】:

标签: docker dredd


【解决方案1】:

TL;DR

dredd image 作为命令行运行。 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

【讨论】:

猜你喜欢
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多