fix(aio): use JSON array double quotes in VOLUME instruction#9099
fix(aio): use JSON array double quotes in VOLUME instruction#9099astarte75 wants to merge 1 commit into
Conversation
The community AIO Dockerfile declared the VOLUME instruction with
single quotes: VOLUME ['/app/data', '/app/logs']. Docker's JSON (exec)
form requires double quotes; with single quotes the line is parsed as
the shell form and the bracket/comma tokens become literal volume
paths ('[/app/data,' and '/app/logs]').
Docker tolerated these non-absolute anonymous volume paths at container
create time until Engine 29.5.0, which now rejects them with
"invalid mount config for type volume: invalid mount path: '[/app/data,'
mount path must be absolute", breaking `docker compose up --force-recreate`
and any container recreation for the AIO community image.
Switching to the valid JSON array form fixes the parsing.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe ChangesDocker VOLUME syntax correction
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
deployments/aio/community/Dockerfiledeclared theVOLUMEinstruction with single quotes:Docker's JSON (exec) form requires double quotes. With single quotes the line is parsed as the shell form and the bracket/comma tokens become literal anonymous-volume paths (
[/app/data,and/app/logs]).Docker Engine tolerated these non-absolute anonymous volume paths at container create time until Engine 29.5.0, which now rejects them with:
This breaks
docker compose up -d --force-recreateand any recreation of theplane-aio-communitycontainer on Docker ≥ 29.5.0, making the AIO instance non-upgradeable.This PR switches to the valid JSON array form:
Type of Change
Screenshots and Media (if applicable)
N/A — one-line Dockerfile change.
Test Scenarios
docker historyon an image built from the fixed Dockerfile showsVOLUME ["/app/data" "/app/logs"]and.Config.Volumes={"/app/data":{}, "/app/logs":{}}(absolute paths).docker create/docker compose up -d --force-recreatesucceed on Docker Engine 29.5.0 (previously failed withmount path must be absolute).References
Fixes #9098
Summary by CodeRabbit