---
name: "docker-login"
section: "1"
platform: "linux"
package: "docker"
version: "1:29.9.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/docker-login"
---

# docker-login(1)

Authenticate to a registry

## NAME

docker-login - Authenticate to a registry

## SYNOPSIS

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

## 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

## Login to a registry on your localhost

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

## See also

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

## 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

**[docker(1)](/docker/1.md)**
