解决 Docker Compose 报告 version 属性已过时的警告_the attribute `version` is obsolete, it will be ig
目录
一、问题原因
二、解决方法
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 将忽略它。以下是解决方法和详细解释。
一、问题原因
-
Docker Compose 版本更新
从 Docker Compose v2 开始,version
属性已不再需要。Docker Compose v2 自动识别文件格式,不再依赖version
字段。 -
文件格式不兼容
如果你的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。如果有任何问题,欢迎随时交流。