Docker push的血泪教训——代理配置与用户名大小写

docker,一个环境管理软件,有着和github类似的dockerhub,同样的也有着和git一样的代理配置麻烦。依稀记得有朋友也曾苦于链接超时而在朋友圈求助,只是当时我连博客的想法都没有,更别说docker了。话题有点远了,总之,这篇博客将记录我在个人电脑(windows)上的配置过程(服务器的配置很麻烦,所以我都直接用DO来租的服务器,也许之后有机会我会更新的?),希望能帮到有希望的人。

想在win上使用docker,你需要下载docker-desktop,以下内容将默认你已完成docker-desktop的下载,同时由于docker运行需要linux内核,所以也将默认你已下载wsl(Windows Subsystem for Linux).这里有一篇快速介绍并上手docker的博客:(如果你看到这段话,说明我还没写)

第一步:docker-desktop GUI的设置

进入docker-desktop在GUI界面里点击设置(小齿轮)

在resources选项卡里选择proxies,启动Manual proxy configuration 输入你的代理端口号,其中http是代理类型,127.0.0.1是本地ip,:7897是代理端口,关于如何书写这部分可以查看这篇博客的前置知识部分:告别 15KiB/s!Windows 下 VS Code 与 Git 代理配置指南 – QzlabQ’s blog

设置完后,点击apply,重启终端和docker-desktop,通常来讲这样就已经可以走代理了,尝试以下代码,如果没有报Timeout或者EOF就已成功:

docker pull hello-world                  
docker tag hello-world 你的名字/test-push:latest   # 替换你的名字
docker push 你的名字/test-push:latest

坑点注意:虽然Docker Hub 用户名在创建时不区分大小写(qzlabq 和 QzlabQ 指向同一个账户),但在镜像路径中使用时必须完全匹配你登录时的用户名(通常是创建时的小写形式)。请再三确认自己的账号名:

docker login | grep Username #这会抓取你的用户名

Leave a Comment