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

目录

一、问题原因

二、解决方法

1. 移除 version 字段

2. 确认 Docker Compose 版本

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

三、完整示例

四、总结


根据你的描述,运行 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 将忽略它。以下是解决方法和详细解释。


一、问题原因

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

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


二、解决方法

1. 移除 version 字段

打开 docker-compose.yml 文件,删除 version 字段。例如,将文件内容从:

yaml复制

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

修改为:

yaml复制

services:
  photoprism:
    ...
2. 确认 Docker Compose 版本

确保你使用的是 Docker Compose v2 或更高版本。可以通过以下命令检查 Docker Compose 的版本:

bash复制

docker-compose --version

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

bash复制

docker-compose --version

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

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

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

bash复制

docker-compose up -d

三、完整示例

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

yaml复制

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。如果有任何问题,欢迎随时交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CarlowZJ

我的文章对你有用的话,可以支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值