【问题标题】:zaproxy: unable to find image 'in:latest' locallyzaproxy:无法在本地找到图像“in:latest”
【发布时间】:2018-09-04 17:44:08
【问题描述】:

我遵循了来自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 login”。 我用谷歌搜索找到了解决方案,因为我在 Docker 和 ZAP 方面都是新手,但徒劳无功。

【问题讨论】:

  • 看起来像 docker 问题,尝试仅运行 docker run -it owasp/zap2docker-weekly 以确保它正常工作。由于某种原因,docker 没有捕捉到图像名称
  • @OmerLeviHevroni ,我已经运行并得到:zap@87049f10f43c:/zap$

标签: docker zap


【解决方案1】:

您当前的工作目录可能在其路径中有空格。因此,-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

并且 docker 将 bar 视为您尝试运行的映像的名称

要解决此问题,请在 $(pwd) 周围加上引号;

docker run --rm -v "$(pwd)":/foo busybox

【讨论】:

    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 2018-04-18
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多