
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-login-tool 是一个轻量级Docker镜像,内置Docker CLI工具,专为在容器环境中执行Docker仓库登录操作设计。该镜像基于Alpine Linux构建,体积小巧且功能完整,可帮助用户在CI/CD流水线、容器化环境或临时场景中快速完成与Docker仓库(如Docker Hub、私有仓库)的身份验证,为后续镜像推送、拉取等操作提供前置认证支持。
docker login命令https://registry.example.com/v2/)环境变量
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
DOCKER_REGISTRY | 目标Docker仓库地址(含协议,私有仓库需指定完整URL) | https://index.docker.io/v1/(Docker Hub) | 否 |
DOCKER_USERNAME | 仓库登录用户名 | - | 是 |
DOCKER_PASSWORD | 仓库登录密码或访问令牌(若使用Token,直接填入Token字符串) | - | 是 |
DOCKER_CONFIG | 容器内Docker配置文件路径(需映射到宿主机以持久化认证信息) | /root/.docker/config.json | 否 |
拉取镜像(可选,docker run会自动拉取):
bashdocker pull docker-login-tool:latest
执行登录命令:通过docker run启动容器,注入环境变量并挂载宿主机Docker配置目录,完成登录后容器自动退出。
直接通过命令行传递用户名和密码,登录Docker Hub:
bashdocker run --rm \ -v $HOME/.docker:/root/.docker \ # 挂载宿主机Docker配置目录,持久化认证信息 docker-login-tool:latest \ docker login -u myusername -p mypassword
通过环境变量指定私有仓库地址和认证信息(推荐生产环境使用,避免命令行暴露密码):
bashdocker run --rm \ -v $HOME/.docker:/root/.docker \ -e DOCKER_REGISTRY=https://registry.example.com/v2/ \ # 私有仓库地址 -e DOCKER_USERNAME=admin \ # 私有仓库用户名 -e DOCKER_PASSWORD=private-registry-token \ # 私有仓库访问令牌 docker-login-tool:latest \ docker login $DOCKER_REGISTRY -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
在docker-compose.yml中定义登录服务,用于CI流水线前置步骤:
yamlversion: '3.8' services: docker-login: image: docker-login-tool:latest volumes: - $HOME/.docker:/root/.docker # 挂载宿主机Docker配置 environment: - DOCKER_REGISTRY=${REGISTRY_URL} # 从CI环境变量注入仓库地址 - DOCKER_USERNAME=${REGISTRY_USER} # 从CI环境变量注入用户名 - DOCKER_PASSWORD=${REGISTRY_PWD} # 从CI环境变量注入密码/令牌 command: docker login $DOCKER_REGISTRY -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
使用方式:在CI脚本中执行docker-compose run docker-login,完成登录后自动退出。
敏感信息安全:
ps命令捕获),优先使用环境变量或CI/CD的"保密变量"功能push/pull权限)配置文件权限:
$HOME/.docker需确保读写权限(容器内默认以root用户执行,宿主机对应目录权限需允许root访问)仓库地址格式:
http://或https://)和版本路径(如/v2/),示例:https://registry.example.com:5000/v2/镜像更新:
docker-login-tool:1.0.0),避免自动拉取最新版导致兼容性问题登录成功后,可通过以下方式验证:
检查宿主机Docker配置文件:
bashcat $HOME/.docker/config.json | grep "auth" # 若存在对应仓库的auth字段,说明登录成功
容器内验证(需保留容器,移除--rm参数):
bashdocker run -it --name temp-login \ -v $HOME/.docker:/root/.docker \ -e DOCKER_REGISTRY=... \ docker-login-tool:latest \ sh -c "docker login $DOCKER_REGISTRY -u $DOCKER_USERNAME -p $DOCKER_PASSWORD && cat /root/.docker/config.json"
docker-login-tool:1.0.0alpine:3.18您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务