docker / docker/cli

Split .docker config into separate directories following platform conventions

Open
#6,729 0 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature status/0-triage
Dominant language
Go
Stars
6.1k
Forks
2.2k
Avg merge
1d 15h
Merged PRs (30d)
43

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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.

Assessment

Tech stack
docker, go
Domain
cli, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.