xuxxx971 2026-01-08 09:13 采纳率: 50%
浏览 1
已结题

关于#docker#的问题:CompreFace启动报错

CompreFace启动报错,想使用一下人脸识别,换了好多源才下完,结果运行报错求帮助。
D:\Download\CompreFace>docker-compose up -d
time="2026-01-08T09:00:00+08:00" level=warning msg="D:\Download\CompreFace\docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 5/5
✔ Network compreface_default Created 0.0s
✔ Container compreface-postgres-db Created 0.1s
✔ Container compreface-core Created 0.1s
✔ Container compreface-api Created 0.1s
✘ Container compreface-admin Error response from daemon: error walking man... 0.0s
Error response from daemon: error walking manifest for docker.io/exadel/compreface-admin:1.2.0: descriptor is neither a manifest or index

  • 写回答

2条回答 默认 最新

  • 檀越@新空间 2026-01-08 09:14
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    你遇到的错误信息是:

    Error response from daemon: error walking manifest for docker.io/exadel/compreface-admin:1.2.0: descriptor is neither a manifest or index
    

    这个错误通常表明 Docker 无法从指定的镜像仓库中找到对应的镜像,或者镜像本身存在问题。以下是详细原因分析与解决方案


    问题原因分析

    1. 镜像版本不存在或不正确

      • docker.io/exadel/compreface-admin:1.2.0 可能不存在于 Docker Hub 上,或者该版本已被删除。
      • 检查是否使用了错误的镜像名或标签。
    2. 网络或 DNS 问题

      • Docker 客户端可能无法连接到 Docker Hub 或其他镜像仓库。
      • 防火墙、代理设置等可能影响镜像拉取。
    3. Docker Compose 文件配置错误

      • docker-compose.yml 中可能引用了错误的镜像名称或标签。
    4. Docker 版本过旧

      • 如果你的 Docker 版本太低,可能无法兼容某些镜像格式。

    🔧 解决方案步骤

    1. 检查镜像是否存在

    • 打开浏览器,访问 https://hub.docker.com
    • 搜索 exadel/compreface-admin,查看是否有 1.2.0 版本。
    • 如果没有该版本,说明你使用的 docker-compose.yml 中的镜像版本可能已经过时或错误。

    建议: 使用最新版本(如 latest)或确认正确的版本号。


    2. 修改 docker-compose.yml 文件

    假设你的 docker-compose.yml 中有如下内容:

    services:
      admin:
        image: exadel/compreface-admin:1.2.0
    

    请将其修改为:

    services:
      admin:
        image: exadel/compreface-admin:latest
    

    注意: 如果你必须使用特定版本,请确保该版本在 Docker Hub 上确实存在。


    3. 清理并重新拉取镜像

    运行以下命令清理旧容器和镜像:

    docker-compose down
    docker system prune -a
    

    然后重新启动:

    docker-compose up -d
    

    4. 检查 Docker 网络连接

    • 确保你的网络可以访问 Docker Hub。
    • 如果你在使用代理,请检查 Docker 的代理设置是否正确。
    • 在 Windows 上,可以尝试关闭防火墙或使用 docker info 查看网络状态。

    5. 更新 Docker

    如果你使用的是较旧的 Docker 版本,可能会出现兼容性问题。请更新到最新版本:


    6. 替换为官方推荐镜像(可选)

    如果 CompreFace 官方提供了更稳定的部署方式,建议参考其官方文档进行部署,例如:


    🛠️ 示例修改后的 docker-compose.yml 文件

    version: '3'
    services:
      postgres-db:
        image: postgres:13
        environment:
          POSTGRES_USER: compreface
          POSTGRES_PASSWORD: compreface
          POSTGRES_DB: compreface
        volumes:
          - postgres-data:/var/lib/postgresql/data
        networks:
          - compreface_default
    
      core:
        image: exadel/compreface-core:latest
        ports:
          - "8080:8080"
        depends_on:
          - postgres-db
        networks:
          - compreface_default
    
      api:
        image: exadel/compreface-api:latest
        ports:
          - "8081:8081"
        depends_on:
          - core
        networks:
          - compreface_default
    
      admin:
        image: exadel/compreface-admin:latest
        ports:
          - "8082:8082"
        depends_on:
          - api
        networks:
          - compreface_default
    
    volumes:
      postgres-data:
    
    networks:
      compreface_default:
    

    📌 总结

    | 问题 | 解决方案 | |------|----------| | 镜像版本不存在 | 更改 docker-compose.yml 中的镜像版本为 latest 或确认正确版本 | | 网络连接异常 | 检查网络设置,确保可以访问 Docker Hub | | Docker 版本过旧 | 升级 Docker 到最新版本 | | 配置错误 | 重新生成或下载官方推荐的 docker-compose.yml |


    如果你仍然无法解决,欢迎提供完整的 docker-compose.yml 文件内容,我可以帮你进一步排查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月8日