# Install docker with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Pack, ship and run any application as a lightweight container. Version 29.6.1 via Homebrew; verified 2026-06-26.

## Install

```sh
sudo av install brew:docker
```

## Agent safety answer

docker controls containers, images, mounts, registries, and local build state that agents can use to reach host files.

- **Credential access:** Reads Docker registry auth, mounted secrets, build args, and files exposed through volume mounts.
- **Remote mutation:** Can push images, change containers, and alter running local or remote Docker contexts.
- **Publish/artifact risk:** Can build and publish images that become production artifacts.
- **Recommended control:** Gate image pushes, privileged containers, host mounts, and context changes.
- **Agent-use guidance:** Allow local inspection and builds with constrained mounts; require approval for registry pushes and privileged execution.

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install docker
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install docker
```

  Evidence: MacPorts ports tree: devel/docker/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add docker
```

  Evidence: Alpine Linux edge package indexes: docker from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install wmdocker
```

  Evidence: Debian stable package indexes: wmdocker from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install moby-engine
```

  Evidence: Fedora Rawhide package metadata: moby-engine from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#docker
```

  Evidence: nixpkgs package indexes: docker from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S docker
```

  Evidence: Arch Linux sync databases: docker from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install docker
```

  Evidence: openSUSE Tumbleweed package metadata: docker from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install docker
```

  Evidence: Chocolatey community package catalog: docker from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','dnspy'

- Scoop (92%):

```sh
scoop install main/docker
```

  Evidence: Scoop official bucket manifest trees: bucket/docker.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Docker.DockerDesktop -e
```

  Evidence: Windows Package Manager source index: Docker.DockerDesktop from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:docker
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/docker>
- **Version:** 29.6.1
- **Source summary:** Pack, ship and run any application as a lightweight container
- **Homepage:** <https://www.docker.com/>
- **Repository:** <https://github.com/docker/cli>
- **Upstream docs:** <https://docs.docker.com/get-started/docker-overview>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/docker/cli.git>
- **Last updated:** 2026-06-26T15:34:47Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- docker (cli)
- docker (alias)

## Build dependencies

- go
- go-md2man

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 29.6.1
- Package-manager updated: 2026-06-26
- Local data: ok
- Upstream repository: https://github.com/docker/cli
- info: No cached GitHub release or tag data was available.
## Project history and usage

Docker is the package that made container workflows a default part of developer tooling. The Homebrew docker formula installs the CLI, but the broader Docker project combines the command-line client, daemon, image format, registry workflows, Docker Hub, Docker Desktop, Compose, BuildKit, and related projects into the everyday vocabulary of build, ship, and run.

### Project history

Docker's documentation defines Docker as an open platform for developing, shipping, and running applications, using containers as lightweight isolated environments. The docker/cli repository is the home of the Docker CLI, the command-line client that talks to the Docker daemon over the Docker API.

Docker's architecture joined a local client, a daemon, images, containers, registries, and distribution workflows into one approachable developer interface. Over time, major parts of the ecosystem were split or formalized into related projects such as Docker Distribution, containerd, runc, BuildKit, Compose, and Docker Desktop.

### Adoption history

Docker spread because it made containerized development and CI/CD reproducible with ordinary commands such as docker build, run, pull, push, and compose-oriented workflows. Docker Hub provided the default public registry, and package managers made the CLI easy to install even on systems where the daemon or Desktop app came from a separate package.

The tool's adoption also reshaped packaging expectations. Application projects began shipping Dockerfiles, official images, compose files, and registry tags as part of their release surface. For many developers, installing docker became the practical entry point for running databases, language runtimes, build services, and whole application stacks locally.

### How it is used

The docker command is the primary way many users interact with Docker. The client sends commands such as docker run to dockerd, which builds, runs, and distributes containers. Users pull and push images through registries, build images from Dockerfiles, inspect containers and images, manage networks and volumes, and configure CLI behavior in ~/.docker/config.json or through DOCKER_CONFIG.

### Why package nerds care

For package nerds, docker is significant because it moved a large amount of software distribution from host-native packages to OCI-style images and registries. It also became a dependency of development workflows: a package manager entry for docker often means access to thousands of image-packaged tools rather than only one executable.

The CLI package is also interesting because it is only one face of Docker. On macOS, the standalone CLI, Docker Desktop, credential helpers, Compose, Buildx, and the daemon are related but not always delivered by the same package. That split makes docker a useful case study in how package managers model large developer platforms.

### Timeline

- 2013: Solomon Hykes first publicly demoed Docker at PyCon.
- Docker platform era: The official architecture centers on a docker client, dockerd daemon, Docker API, images, containers, and registries.
- CLI repository era: Docker CLI development lives in the docker/cli repository as the home of the command-line client.
- 2023: Docker v23 made BuildKit the default builder for Linux images, with the legacy builder deprecated in Docker documentation.
- 2026: Docker documentation still treats docker as the primary CLI for container lifecycle and registry workflows.

### Related projects

- Related projects include Docker Engine, Moby, containerd, runc, Docker Distribution, Docker Hub, Docker Desktop, Docker Compose, BuildKit, Buildx, and Docker credential helpers.

### Sources

- <https://docs.docker.com/get-started/docker-overview/>
- <https://docs.docker.com/reference/cli/docker/>
- <https://github.com/docker/cli>
- <https://www.docker.com/blog/docker-nine-years-young/>
- <https://docs.docker.com/engine/deprecated/#legacy-builder-for-linux-images>


## Security Notes

doc example: container infrastructure.

- **Geiger risk:** orange / high
- doc example: container infrastructure
- **Approval gate rules:** 6


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.docker/config.json

## Credential files

- Unix: ~/.docker/config.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** docker
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - wmdocker - 1.5-4+b1: normalized package name match | Debian stable package indexes: wmdocker from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | System tray for KDE3/GNOME2 docklet applications
- Nix - docker: normalized package name match | nixpkgs package indexes: docker from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - wmdocker - 1.5-4build3: normalized package name match | Ubuntu 24.04 LTS package indexes: wmdocker from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | System tray for KDE3/GNOME2 docklet applications
- apk - docker - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Pack, ship and run any application as a lightweight container | https://www.docker.io/
- apk - docker-bash-completion - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for docker | https://www.docker.io/
- apk - docker-cli - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-cli from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Docker CLI | https://www.docker.io/
- apk - docker-doc - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Documentation for Docker | https://www.docker.io/
- apk - docker-engine - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-engine from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Docker Engine (dockerd) | https://www.docker.io/
- apk - docker-fish-completion - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for docker | https://www.docker.io/
- apk - docker-openrc - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Pack, ship and run any application as a lightweight container (OpenRC init scripts) | https://www.docker.io/
- apk - docker-rootless-extras - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-rootless-extras from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extras to run docker as in rootless mode | https://docs.docker.com/engine/security/rootless/
- apk - docker-rootless-extras-openrc - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-rootless-extras-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OpenRC scripts for running docker in rootless mode | https://www.docker.io/
- apk - docker-systemd - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-systemd from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Pack, ship and run any application as a lightweight container (systemd files) | https://www.docker.io/
- apk - docker-zsh-completion - 29.5.3-r0: normalized package name match | Alpine Linux edge package indexes: docker-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for docker | https://www.docker.io/
- dnf - moby-engine - 29.5.3-1.fc45: normalized package name match | Fedora Rawhide package metadata: moby-engine from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | The open-source application container engine | https://github.com/moby/moby
- pacman - docker - 1:29.5.2-1: normalized package name match | Arch Linux sync databases: docker from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Pack, ship and run any application as a lightweight container | https://www.docker.com/


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [go-md2man](https://www.automicvault.com/pkg/brew/go-md2man/) - Build dependency declared by Homebrew.
- [docker-engine](https://www.automicvault.com/pkg/brew/docker-engine/) - Shares the same upstream homepage.
- [cdebug](https://www.automicvault.com/pkg/brew/cdebug/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [cekit](https://www.automicvault.com/pkg/brew/cekit/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [devcontainer](https://www.automicvault.com/pkg/brew/devcontainer/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [dockcheck](https://www.automicvault.com/pkg/brew/dockcheck/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [docker-buildx](https://www.automicvault.com/pkg/brew/docker-buildx/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [docker-clean](https://www.automicvault.com/pkg/brew/docker-clean/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [docker-compose](https://www.automicvault.com/pkg/brew/docker-compose/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [docker-credential-helper](https://www.automicvault.com/pkg/brew/docker-credential-helper/) - Shares av.db curated category or tags: cli, containers, developer-tools, docker.
- [docker-language-server](https://www.automicvault.com/pkg/brew/docker-language-server/) - Package names and metadata indicate a similar tool family. Shared terms: cli, containers, developer, developer-tools, docker.
- [docker](https://www.automicvault.com/pkg/npm/docker/) - Same normalized package name appears in another local ecosystem. Shared terms: docker.
- [docker](https://www.automicvault.com/pkg/npm/docker/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/docker.yml](https://github.com/automic-vault/db/blob/main/combined/docker.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- approval-gate seed metadata
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
- curated agent safety answer
