Docker Compose报告version属性已过时的警告问题及解决

 更新时间:2026年06月29日 09:58:03   作者:CarlowZJ  
这篇文章主要介绍了Docker Compose报告version属性已过时的警告问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

根据你的描述,运行 docker-compose up -d 时出现了以下警告:

time="2025-02-20T13:13:34+08:00" level=warning msg="D:\\Photoprism\\docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"

这个警告表明 docker-compose.yml 文件中的 version 属性已过时,Docker Compose 将忽略它。

以下是解决方法和详细解释。

一、问题原因

Docker Compose 版本更新

从 Docker Compose v2 开始,version 属性已不再需要。Docker Compose v2 自动识别文件格式,不再依赖 version 字段。

文件格式不兼容

如果你的 docker-compose.yml 文件仍然包含 version 字段,Docker Compose v2 会发出警告并忽略该字段。

二、解决方法

1.移除version字段

打开 docker-compose.yml 文件,删除 version 字段。

例如,将文件内容从:

version: '3.5'
services:
  photoprism:
    ...

修改为:

services:
  photoprism:
    ...

2.确认 Docker Compose 版本

确保你使用的是 Docker Compose v2 或更高版本。

可以通过以下命令检查 Docker Compose 的版本:

docker-compose --version

如果版本低于 v2,可以通过以下命令升级 Docker Compose:

docker-compose --version

如果你使用的是 Docker Desktop,Docker Compose v2 已集成在其中,无需手动安装。

3.重新运行docker-compose up -d

保存文件后,重新运行以下命令启动服务:

docker-compose up -d

三、完整示例

以下是移除 version 字段后的完整 docker-compose.yml 文件示例:

services:
  photoprism:
    image: photoprism/photoprism:latest
    container_name: photoprism
    restart: unless-stopped
    security_opt:
      - seccomp:unconfined
    ports:
      - "2342:2342"
    environment:
      PHOTOPRISM_ADMIN_PASSWORD: "YourPasswordHere" # 管理员密码
      PHOTOPRISM_UPLOAD_NSFW: "true"                # 允许上传 NSFW 内容
      PHOTOPRISM_DEBUG: "false"                     # 禁用调试模式
      PHOTOPRISM_PUBLIC: "false"                    # 设置为私有模式
      PHOTOPRISM_READONLY: "false"                  # 禁用只读模式
    volumes:
      - "C:/data/docker/photoprism/storage:/photoprism/storage" # 持久化存储路径
      - "C:/data/docker/photoprism/Pictures:/photoprism/originals" # 原始照片路径
  mariadb:
    image: mariadb:10.11
    container_name: photoprism-db
    restart: unless-stopped
    security_opt:
      - seccomp:unconfined
    command: mariadbd --innodb-buffer-pool-size=512M --lower-case-table-names=1 --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
    volumes:
      - "database:/var/lib/mysql"
    environment:
      MARIADB_AUTO_UPGRADE: "1"
      MARIADB_INITDB_SKIP_TZINFO: "1"
      MARIADB_DATABASE: "photoprism"
      MARIADB_USER: "photoprism"
      MARIADB_PASSWORD: "YourDbPassword"
      MARIADB_ROOT_PASSWORD: "YourDbRootPassword"
volumes:
  database:
    driver: local

四、总结

通过移除 docker-compose.yml 文件中的 version 字段,你可以解决 Docker Compose v2 报告的警告。

确保你使用的是 Docker Compose v2 或更高版本,并重新运行 docker-compose up -d 命令以启动服务。希望这些步骤能帮助你顺利部署 PhotoPrism。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文教你彻底解决Docker日志膨胀

    一文教你彻底解决Docker日志膨胀

    这篇文章主要为大家详细介绍了如何快速检查,清理 Docker 日志,并设置日志大小限制以防止未来日志失控,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • Docker版FFmpeg安装部署的详细步骤

    Docker版FFmpeg安装部署的详细步骤

    项目组开发过程用因为要使用音频格式转换功能,FFmpeg是常见的音视频处理工具,本文就来介绍一下Docker版FFmpeg安装部署的详细步骤,感兴趣的可以了解一下
    2023-10-10
  • 一文教你如何通过 Docker 快速搭建各种测试环境

    一文教你如何通过 Docker 快速搭建各种测试环境

    这篇文章主要介绍了一文教你如何通过 Docker 快速搭建各种测试环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • docker部署前端nginx跨域不生效问题及解决

    docker部署前端nginx跨域不生效问题及解决

    这篇文章主要介绍了docker部署前端nginx跨域不生效问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-06-06
  • docker volume删除卷的操作

    docker volume删除卷的操作

    这篇文章主要介绍了docker volume删除卷的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 使用Docker部署GPUStack过程

    使用Docker部署GPUStack过程

    GPUStack是一款基于Docker的GPU计算平台,支持异构GPU集群,通过简单的Docker命令即可启动GPUStack服务器和worker,并通过Web界面进行管理和监控
    2026-01-01
  • 清理docker占用磁盘过大问题终极方案(亲测有效!)

    清理docker占用磁盘过大问题终极方案(亲测有效!)

    Docker很占用空间每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时我们的磁盘空间会被大量占用,这篇文章主要给大家介绍了关于清理docker占用磁盘过大问题终极方案,需要的朋友可以参考下
    2024-04-04
  • docker如何修改容器ip范围

    docker如何修改容器ip范围

    这篇文章主要介绍了docker如何修改容器ip范围问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • portainer连接远程docker的实现示例

    portainer连接远程docker的实现示例

    本文主要介绍了portainer连接远程docker的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • docker创建并运行一个MySql容器,并将宿主机直接挂载到容器

    docker创建并运行一个MySql容器,并将宿主机直接挂载到容器

    这篇文章主要介绍了docker创建并运行一个MySql容器,并将宿主机直接挂载到容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09

最新评论