Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

`docker logout docker.io` does not remove Docker Hub credentials

Đang mở Phù hợp với người mới
#7,326 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, go
Lĩnh vực
cli

Hướng nghiên cứu

Xem xét các triển khai lệnh đăng nhập và đăng xuất trong codebase CLI, có thể nằm dưới cli/command/registry. So sánh cách docker.io được chuẩn hóa thành https://index.docker.io/v1/ trong quá trình đăng nhập. Bản sửa lỗi là đảm bảo đăng xuất sử dụng cùng một phép chuẩn hóa. Bắt đầu bằng cách tái tạo vấn đề cục bộ để xác nhận hành vi, sau đó tìm logic đăng xuất và áp dụng phép chuẩn hóa. Xác minh bằng cách kiểm tra tệp config.json sau khi chạy lệnh đăng xuất đã được vá.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

kind/bug status/0-triage
Description

For Docker Hub, docker login canonicalizes docker.io to https://index.docker.io/v1/, while docker logout does not appear to apply the same canonicalization logic.

For example, when a user explicitly logs in with:

docker login docker.io

the credentials are stored in config.json under the canonical Docker Hub key:

{
  "auths": {
    "https://index.docker.io/v1/": {
      "auth": "..."
    }
  }
}

However, when the user explicitly logs out with:

docker logout docker.io

the logout logic attempts to remove credentials associated with docker.io from config.json.

Since the credentials were actually stored under https://index.docker.io/v1/, no matching docker.io entry exists, so the stored Docker Hub credentials are not removed.

In other words, docker login docker.io and docker logout docker.io use inconsistent registry host normalization for Docker Hub.

docker login docker.io and docker logout docker.io use inconsistent registry host normalization for Docker Hub.

Reproduce
  1. Run docker login docker.io and authenticate successfully.
  2. Check ~/.docker/config.json and verify that the credentials are stored under https://index.docker.io/v1/.
  3. Run docker logout docker.io.
  4. Check ~/.docker/config.json again.
  5. Observe that the Docker Hub credentials under https://index.docker.io/v1/ are still present.
Expected behavior

Running docker logout docker.io should remove the Docker Hub credentials stored under https://index.docker.io/v1/.

docker version
Client:
 Version:           29.8.0
 API version:       1.56
 Go version:        go1.26.8
 Git commit:        88096ef
 Built:             Thu Sep  3 21:53:38 2026
 OS/Arch:           windows/amd64
 Context:           desktop-linux
failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine; check if the path is correct and if the daemon is running: open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
docker info
Client:
 Version:    29.8.0
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  agent: Docker AI Agent Runner (Docker Inc.)
    Version:  v1.136.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-agent.exe
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.31.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-ai.exe
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.37.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v5.5.1
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.47
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-debug.exe
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  v0.4.4
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-desktop.exe
  dhi: CLI for managing Docker Hardened Images (Docker Inc.)
    Version:  v0.0.7
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-dhi.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.31
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-init.exe
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  v0.43.3
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-mcp.exe
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.2.6
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-model.exe
  offload: Docker Offload (Docker Inc.)
    Version:  v0.6.17
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-offload.exe
  pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
    Version:  v0.2.2
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-pass.exe
  sandbox: "docker sandbox" is deprecated, use Docker Sandboxes instead (Docker Inc.)
    Version:  v0.13.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-sandbox.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.24.0
    Path:     C:\Users\yin2hao\.docker\cli-plugins\docker-scout.exe

Server:
failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine; check if the path is correct and if the daemon is running: open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
Additional Info

No response

Ngôn ngữ chính
Go
Star
6.1k
Fork
2.2k
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
47

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của docker/cli

Tất cả issue của docker/cli

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.