zaproxy:无法找到图片' in:latest'本地

时间:2018-03-26 14:27:07

标签: docker zap

我跟着示例来自:https://zaproxy.blogspot.com/2017/06/scanning-apis-with-zap.html

  1. 在我的Mac上安装Docker
  2. 已执行docker pull owasp/zap2docker-weekly
  3. 执行示例:docker run -t owasp/zap2docker-weekly zap-api-scan.py -t \ https://www.example.com/openapi.json -f openapi 它的工作原理
  4. 执行了我的命令来扫描我的API:docker run -v /etc/hosts:/etc/hosts -v $(pwd):/zap/wrk:rw -t owasp/zap2docker-weekly zap-api-scan.py -t myapitest.json -f openapi 我得到了: 无法找到图片' in:latest'本地 docker:来自守护程序的错误响应:拉入访问被拒绝,存储库不存在或者可能需要登录器登录'。 我用谷歌搜索解决方案,因为我在Docker和ZAP中都是新手,但是徒劳无功。

1 个答案:

答案 0 :(得分:3)

您当前的工作目录路径中可能包含空格。因此,-v $(pwd):/zap/wrk:rw被视为两个参数,第二个被视为要运行的图像的名称。

例如:

# create a directory having spaces, last part is "baz"
mkdir foo\ bar\ baz

# change to that directory
cd foo\ bar\ baz

# attempt to run a container that bind-mounts the current
# directory, and see that it's producing an error:
docker run --rm -v $(pwd):/foo busybox

Unable to find image 'bar:latest' locally
docker: Error response from daemon: pull access denied for bar, repository does not exist or may require 'docker login'.

正在发生的事情是,$(foo)已扩展到完整路径:

pwd
/Users/sebastiaan/Projects/spaces/foo bar baz

因此,运行docker命令实际上运行:

docker run --rm -v  /Users/sebastiaan/Projects/spaces/foo bar baz:/foo busybox

码头工程师将bar视为您尝试运行的图片的名称

要解决此问题,请在$(pwd);

周围加上引号
docker run --rm -v "$(pwd)":/foo busybox