`docker logout docker.io` does not remove Docker Hub credentials
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
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ả
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
- Run
docker login docker.ioand authenticate successfully. - Check
~/.docker/config.jsonand verify that the credentials are stored underhttps://index.docker.io/v1/. - Run
docker logout docker.io. - Check
~/.docker/config.jsonagain. - 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
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của docker/cli
-
kind/bug status/0-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
kind/feature status/0-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
kind/bug status/0-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
`docker cp -a` docs incorrect Đang mởkind/bug status/0-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
bug group: validation priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
codecheckers/chekhov#51 ·
-
Creating worktree from an existing remote branch with a slash in it, has unexpected behaviour Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100