Skip to content

Split .docker config into separate directories following platform conventions #6729

@Mewsen

Description

@Mewsen

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions