如何列出本地存储的清单

Wyc*_*yck 8 docker

当我这样做时,docker manifest create ...这个清单存储在本地,并且在我这样做之前它不会被推送到注册表docker manifest push ...,但我不确定在推送之前它同时位于哪里。

我知道我可以删除本地存储的清单,docker manifest rm ...但我的目标是清理我创建的所有被遗忘的清单,那么如何列出所有本地存储的清单?

我预料到了docker manifest ls,但不存在这样的命令。

RuR*_*uRo 9

有点惊讶,这在任何地方都没有记录。我必须通过阅读以下源代码来亲自调查这一点docker-cli

  • docker manifest create命令在 中实现command/manifest/create_list.go。它最终会调用manifestStore.Save.

  • manifestStore从 获得的dockerCli.ManifestStore(),其实现如下command/cli.go

    func (cli *DockerCli) ManifestStore() manifeststore.Store {
        // TODO: support override default location from config file
        return manifeststore.NewStore(filepath.Join(config.Dir(), "manifests"))
    }
    
    Run Code Online (Sandbox Code Playgroud)

简而言之,您可以通过列出或删除~/.docker/manifests(或更准确地说${DOCKER_CONFIG}/manifests)的内容来列出或删除所有清单。

这不是很优雅,但据我所知,目前没有更好的选择。