DOCKER(1) Docker User Manuals DOCKER(1)

# [NAME](#NAME)

docker-login - Authenticate to a registry

# [SYNOPSIS](#SYNOPSIS)

**docker login \[OPTIONS] \[SERVER]**

# [DESCRIPTION](#DESCRIPTION)

Log in to a Docker Registry located on the specified **SERVER**. You can specify a URL or a **hostname** for the **SERVER** value. If you do not specify a **SERVER**, the command uses Docker's public registry located at **https://registry-1.docker.io/** by default. To get a username/password for Docker's public registry, create an account on Docker Hub.

**docker login** requires user to use **sudo** or be **root**, except when:

1\.

connecting to a remote daemon, such as a **docker-machine** provisioned **docker engine**.

2\.

user is added to the **docker** group. This will impact the security of your system; the **docker** group is **root** equivalent. See Docker Daemon Attack Surface ⟨https://docs.docker.com/engine/security/#docker-daemon-attack-surface⟩ for details.

You can log into any public or private repository for which you have credentials. When you log in, the command stores encoded credentials in **$HOME/.docker/config.json** on Linux or **%USERPROFILE%/.docker/config.json** on Windows.

# [EXAMPLES](#EXAMPLES)

# [Login to a registry on your localhost](#Login_to_a_registry_on_your_localhost)

```
# docker login localhost:8080
```

# [See also](#See_also)

[**docker-logout(1)**](/man/os/docker-cli/docker-logout.1) to log out from a registry.

# [OPTIONS](#OPTIONS)

**-p**, **--password**="" Password or Personal Access Token (PAT), or "-" to read from stdin

**--password-stdin**\[=false] Take the Password or Personal Access Token (PAT) from stdin

**-u**, **--username**="" Username

# [SEE ALSO](#SEE_ALSO)

[**docker(1)**](/man/os/docker-cli/docker.1)

Oct 2026 Docker Community

---

Document: docker-login(1) from docker-cli 29.9.1-r0 (Chainguard OS)
Source: https://github.com/docker/cli
