Split .docker config into separate directories following platform conventions
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- docker, go
- Domain
- cli, operating-systems
Research direction
Start by reviewing the current .docker directory and the related issues #2738 and #2423. Compare the proposed Unix, Windows, and macOS paths, then determine whether they interact safely with the Docker daemon and how existing paths remain compatible. Done means the conventions, migration or fallback behavior, and compatibility concerns are resolved clearly enough for a PR.
Written by the indexing model from the issue text.
Description
Split the current .docker directory into separate directories for configuration, data, cache, and runtime, following XDG conventions on Unix and sensible platform-specific paths on Windows and macOS.
Example:
| Purpose | Unix XDG | Unix w/o XDG | Unix System Level | Windows User Level | Windows System Level | macOS User Level | macOS System Level |
|---|---|---|---|---|---|---|---|
| Configuration | $XDG_CONFIG_HOME/docker |
~/.docker |
/etc/docker/cli |
%APPDATA%\Docker |
%PROGRAMDATA%\Docker |
~/Library/Preferences/Docker |
/Library/Preferences/Docker |
| Data | $XDG_DATA_HOME/docker |
~/.docker |
/usr/local/share/docker |
%LOCALAPPDATA%\Docker |
%PROGRAMDATA%\Docker |
~/Library/Application Support/Docker |
/Library/Application Support/Docker |
| Cache | $XDG_CACHE_HOME/docker |
~/.docker |
/var/cache/docker |
%LOCALAPPDATA%\Docker\Cache |
%PROGRAMDATA%\Docker\Cache |
~/Library/Caches/Docker |
/Library/Caches/Docker |
| Runtime | $XDG_RUNTIME_DIR/docker |
~/.docker |
/run/docker/cli |
%LOCALAPPDATA%\Docker\Run |
%PROGRAMDATA%\Docker\Run |
? |
? |
Are these paths sensible, do they crash in any way with the docker daemon?
Any concerns around backward compatibility?
Would love to create a PR.
related: #2738, #2423
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 2.2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 43
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from docker/cli
-
kind/bug status/0-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
kind/feature status/0-triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
kind/bug status/0-triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
kind/bug status/0-triage
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Similar issues
-
textual definition
Difficulty 1/5 Under an hour Newbie friendliness 90/100
geneontology/go-ontology#32653 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
needs design
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Priority/High ready-for-agent Severity/Major Type/Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100