1,在 Windows 系统中查看已经拉取的 Docker 镜像,主要有以下两种方式:

1. 使用命令行工具(CMD 或 PowerShell)

docker images
或者使用等效命令:

docker image ls

展示已下载镜像的详细信息,包括仓库名称(REPOSITORY)、标签(TAG)、镜像 ID(IMAGE ID)、创建时间(CREATED)以及大小(SIZE)。
C:\Users\13032>docker image ls
                                                                                                   i Info →   U  In Use
IMAGE                                                      ID             DISK USAGE   CONTENT SIZE   EXTRA
cars10/elasticvue:latest                                   efddf4fa0fd8       95.4MB         26.9MB    U
dockercompose-elasticsearch:latest                         8bb4c71b1fe1       2.82GB          1.4GB    U
ghcr.io/huggingface/text-embeddings-inference:cpu-latest   cb570aabbfa0        938MB          239MB    U
kibana:8.19.10                                             b22584760608       3.05GB         1.39GB
mysql:8.0.41                                               bf577825b52a       1.06GB          246MB    U
qdrant/qdrant:latest                                       0bd98fa7977f        270MB           75MB    U
qdrant/qdrant:v1.16                                        c3350fdb72f3        392MB          192MB

2,移除某一个镜像

docker rmi qdrant/qdrant:latest
C:\Users\13032> docker rmi qdrant/qdrant:latest
Error response from daemon: conflict: unable to delete qdrant/qdrant:latest (must be forced) - container 3998ce0ee8cd is using its referenced image 0bd98fa7977f

C:\Users\13032>docker stop 3998ce0ee8cd
3998ce0ee8cd

C:\Users\13032>docker rm 3998ce0ee8cd
3998ce0ee8cd

C:\Users\13032>docker rmi qdrant/qdrant:latest
Untagged: qdrant/qdrant:latest
Deleted: sha256:0bd98fa7977f1e75694779359ca4e212822e5a71334e28421182f72f209d5286

3,查看 已经启动的镜像

查看当前已经启动(正在运行)的容器,可以使用以下命令:
    docker ps

    这个命令会列出所有处于运行状态的容器,包括:

    容器 ID、使用的镜像名称(IMAGE)、启动命令、创建时间、运行状态(STATUS)、端口映射(PORTS)以及容器名称(NAMES)。
查看所有的容器(包括正在运行的和已经停止的),可以加上 -a 参数:
    docker ps -a
C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                                      COMMAND                   CREATED      STATUS                        PORTS                                            NAMES
bfe7b4473386   cars10/elasticvue                                          "/docker-entrypoint.…"   3 days ago   Exited (255) 15 minutes ago   0.0.0.0:8080->8080/tcp                           elasticvue
a573f993142c   dockercompose-elasticsearch:latest                         "/bin/tini -- /usr/l…"   3 days ago   Exited (255) 15 minutes ago   0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   es
b1dd6f2b9022   ghcr.io/huggingface/text-embeddings-inference:cpu-latest   "text-embeddings-rou…"   7 days ago   Exited (0) 7 days ago                                                          bge-large-zh-cpu
489b6187fce8   mysql:8.0.41                                               "docker-entrypoint.s…"   7 days ago   Exited (1) 7 days ago                                                          nifty_franklin
cb2e0cf6c9ff   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          pedantic_goodall
4a212958381e   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          nifty_mestorf
f36b83d32e06   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          bold_goldwasser
bc0a3c99b538   mysql:8.0.41                                               "docker-entrypoint.s…"   7 days ago   Exited (1) 7 days ago                                                          stoic_chebyshev
8ab83a6f9e5c   mysql:8.0.41                                               "docker-entrypoint.s…"   7 days ago   Exited (1) 7 days ago                                                          laughing_rubin
13272971d5c4   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          practical_leakey
6d171fe80d65   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          vigilant_knuth
05abe90efd91   mysql:8.0.41                                               "docker-entrypoint.s…"   7 days ago   Exited (1) 7 days ago                                                          cranky_jones
7267391ddc5f   ad950d30878e                                               "text-embeddings-rou…"   7 days ago   Exited (2) 7 days ago                                                          pensive_ganguly
e3ea3d819d13   mysql:8.0.41                                               "docker-entrypoint.s…"   8 days ago   Exited (0) 7 days ago                                                          my-mysql

4,移除里面多余的容器

里面确实积累了大量状态为 Exited(已停止)的冗余容器。在 Windows 环境下,清理这些多余容器最安全、高效的方法是使用以下命令:

🧹 一键清理所有已停止的容器

 docker container prune

说明:
这个命令是 Docker 官方推荐的安全做法,它只会删除状态为 Exited 的容器,绝不会影响正在运行的容器。
执行后,系统会列出将被删除的容器,并提示 Are you sure you want to continue? (y/N)。输入 y 并回车即可确认清理。
如果你希望跳过确认提示直接清理,可以加上 -f 参数:docker container prune -f。
手动删除指定的容器
    如果你只想清理其中一部分容器,而保留某些有用的容器,可以使用 docker rm 命令。
    删除已停止的容器

    docker rm <容器ID或名称>

    例如:docker rm practical_leakey vigilant_knuth

    强制删除正在运行的容器:如果某个容器正在运行,直接 rm 会报错,你可以加上 -f 参数强制删除:
    docker rm -f <容器ID或名称>

5,启动 Elasticsearch

docker run -d --name es -p 9200:9200 -p 9300:9300 dockercompose-elasticsearch:latest
C:\Users\13032>docker run -d --name es -p 9200:9200 -p 9300:9300 dockercompose-elasticsearch:latest
09df4b508314adf723ce973f0062130cec8d1c71ebadf303dc52e542f07f4e55

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                COMMAND                   CREATED         STATUS         PORTS                                                                                      NAMES
09df4b508314   dockercompose-elasticsearch:latest   "/bin/tini -- /usr/l…"   7 seconds ago   Up 6 seconds   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp   es

启动 Elasticvue: 一款专为 Elasticsearch 设计的轻量级、图形化管理工具

run -d --name elasticvue -p 8080:8080 cars10/elasticvue:latest
C:\Users\13032>docker run -d --name elasticvue -p 8080:8080 cars10/elasticvue:latest
f4b8fd68903764a12f476908e93cc2e5aa6b090fd03e395b4b04040fe7bc7148

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                COMMAND                   CREATED              STATUS              PORTS                                                                                      NAMES
f4b8fd689037   cars10/elasticvue:latest             "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp                                                elasticvue
09df4b508314   dockercompose-elasticsearch:latest   "/bin/tini -- /usr/l…"   2 minutes ago        Up 2 minutes        0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp   es

可以再次通过 http://localhost:9200 和 http://localhost:8080 访问它们了

如何安全地继续访问

点击“高级”:在警告页面下方,你会看到一个“高级”按钮,点击它。
选择“继续访问 localhost (不安全)”:点击后,浏览器会忽略证书验证,直接连接到你的 Elasticsearch 服务。
你应该能看到一个 JSON 格式的响应,包含集群名称、版本等信息,这证明服务运行正常。

💡 如果找不到密码怎么办?

docker exec -it es bin/elasticsearch-reset-password -u elastic
-4C_LwnHuYxyoYvbVxlV
C:\Users\13032>docker exec -it es bin/elasticsearch-reset-password -u elastic
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: -4C_LwnHuYxyoYvbVxlV

What's next:
    Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug es
    Learn more at https://docs.docker.com/go/debug-cli/
成功后
{
  "name" : "09df4b508314",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "CFCzJjXWQTKygt1JwQdo_g",
  "version" : {
    "number" : "8.19.10",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "493241b351be6d9f40d52a1406c91a23b4148821",
    "build_date" : "2026-01-08T22:07:49.939644068Z",
    "build_snapshot" : false,
    "lucene_version" : "9.12.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}
访问 http://localhost:8080
你遇到的 “Failed to fetch” 错误,是 Elasticvue 无法连接到 Elasticsearch 的典型表现。结合你提供的截图和上下文,问题根源在于 Elasticsearch 8.x 默认启用了 HTTPS 和安全认证,而你在 Elasticvue 中配置的连接方式未完全匹配这些安全要求。
问题诊断与解决方案
确认连接地址协议
你的截图中显示地址为 https://localhost:9200,这是正确的。Elasticsearch 8.x 默认强制使用 HTTPS,如果填写 http:// 会导致连接失败。
选择正确的认证方式
你当前选择了 “No authorization”,这是错误的。由于 ES 已启用安全功能,你必须选择 “Basic auth” 并输入用户名和密码。
点击 “Basic auth” 单选按钮。
在弹出的输入框中:

用户名:elastic
密码:你之前通过 docker logs es | findstr "Password for the elastic user" 获取到的随机密码。
处理 SSL 证书信任问题
即使你选择了 HTTPS 和 Basic Auth,浏览器仍可能因为自签名证书而阻止连接。你需要确保浏览器信任该证书。
在你的浏览器中访问 https://localhost:9200,如果出现“不安全”警告,点击“高级” -> “继续访问”。
这一步会让浏览器缓存并接受该自签名证书,从而允许 Elasticvue(作为浏览器扩展或网页应用)建立连接。

6,移除某个启动 或停止的容器

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                COMMAND                   CREATED          STATUS          PORTS                                                                                      NAMES
f4b8fd689037   cars10/elasticvue:latest             "/docker-entrypoint.…"   28 minutes ago   Up 28 minutes   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp                                                elasticvue
09df4b508314   dockercompose-elasticsearch:latest   "/bin/tini -- /usr/l…"   29 minutes ago   Up 29 minutes   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp   es

C:\Users\13032>docker stop f4b8fd689037
f4b8fd689037

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                COMMAND                   CREATED          STATUS                     PORTS                                                                                      NAMES
f4b8fd689037   cars10/elasticvue:latest             "/docker-entrypoint.…"   29 minutes ago   Exited (0) 4 seconds ago                                                                                              elasticvue
09df4b508314   dockercompose-elasticsearch:latest   "/bin/tini -- /usr/l…"   30 minutes ago   Up 30 minutes              0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp   es

C:\Users\13032>docker rm f4b8fd689037
f4b8fd689037

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE                                COMMAND                   CREATED          STATUS          PORTS                                                                                      NAMES
09df4b508314   dockercompose-elasticsearch:latest   "/bin/tini -- /usr/l…"   31 minutes ago   Up 31 minutes   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, [::]:9300->9300/tcp   es

C:\Users\13032>docker rm -f f4b8fd689037
Error response from daemon: No such container: f4b8fd689037

C:\Users\13032>docker rm -f 09df4b508314
09df4b508314

C:\Users\13032>docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

C:\Users\13032>

7,删除某一个镜像

删除容器后,你可以删除对应的镜像以释放磁盘空间。假设你使用的是官方镜像 elasticsearch(或者你之前拉取的具体版本,如 elasticsearch:8.x.x):
docker rmi elasticsearch

如果你不确定镜像的确切名称或 ID,可以先运行 docker images 查看列表,找到 Elasticsearch 对应的镜像 ID,然后运行:

docker rmi <镜像ID>
解释: rmi 代表 "remove image"。
C:\Users\13032>docker images
                                                                                                                                                                                            i Info →   U  In Use
IMAGE                                                      ID             DISK USAGE   CONTENT SIZE   EXTRA
cars10/elasticvue:latest                                   efddf4fa0fd8       95.4MB         26.9MB
dockercompose-elasticsearch:latest                         8bb4c71b1fe1       2.82GB          1.4GB
ghcr.io/huggingface/text-embeddings-inference:cpu-latest   cb570aabbfa0        938MB          239MB
kibana:8.19.10                                             b22584760608       3.05GB         1.39GB
mysql:8.0.41                                               bf577825b52a       1.06GB          246MB
qdrant/qdrant:v1.16                                        c3350fdb72f3        392MB          192MB

C:\Users\13032>docker rmi 8bb4c71b1fe1
Untagged: dockercompose-elasticsearch:latest
Deleted: sha256:8bb4c71b1fe1283371cd2bea4894befa9fb63321dbe1ec0ab81dfdd37c5fdc64

C:\Users\13032>docker rmi  efddf4fa0fd8
Untagged: cars10/elasticvue:latest
Deleted: sha256:efddf4fa0fd84f70f1a19c904a85ed56c98fb60695a99e14c8d9feca8a27082b

C:\Users\13032>docker images
                                                                                                                                                                                            i Info →   U  In Use
IMAGE                                                      ID             DISK USAGE   CONTENT SIZE   EXTRA
ghcr.io/huggingface/text-embeddings-inference:cpu-latest   cb570aabbfa0        938MB          239MB
kibana:8.19.10                                             b22584760608       3.05GB         1.39GB
mysql:8.0.41                                               bf577825b52a       1.06GB          246MB
qdrant/qdrant:v1.16                                        c3350fdb72f3        392MB          192MB

C:\Users\13032>

更多推荐