我将按照https://docs.docker.com/registry/deploying/设置一个本地注册表。
docker run -d -p 5000:5000 --restart=always --name reg ubuntu:16.04
字符串
当我尝试运行以下命令时:
$ docker push localhost:5000/my-ubuntu
型
我得到错误:
Get http://localhost:5000/v2/: dial tcp 127.0.0.1:5000: connect:connection refused
型
你知道吗?
3条答案
按热度按时间daolsyd01#
连接被拒绝通常意味着你试图连接的服务实际上没有正常运行。可能有其他原因,如this问题中所述,但本质上,对于你的情况,它只是意味着注册表还没有启动。
在执行其他操作之前,请等待注册表容器正确创建-
docker run -d -p 5000:5000 --restart=always --name registry registry:2
,它从official docker image创建本地注册表。通过运行
docker ps | grep registry
确保registry
容器已启动,然后继续下一步。qf9go6mv2#
更多关于
*Kubenetes(K8s)/ Minikube酒店
*docker / image / registry,container
如果您使用Minikube,并希望从127.0.0.1:5000下拉图像,
那么你会遇到下面的错误:
无法提取图像“127.0.0.1:5000/nginx_operator:latest“:rpc错误:code = Unknown desc =来自守护进程的错误响应:Get http://127.0.0.1:5000/v2/:dial tcp 127.0.0.1:5000:connect:connection refused
完整日志:
字符串
可能的根本原因:
注册表必须在Minikube端而不是主机端设置。
即
如何查看?
Step1:检查您的Minikube容器
型
Step2:登录您的Minikube
型
Step 3:构建镜像,推送到Minikube注册表中
型
Step 4:再次登录Minikube
型
自定义Minikube的暴露端口
如果你想在主机端使用端口5000而不是49154(由docker服务随机分配)
即主机:5000 <-->minikube:5000
你需要重新创建一个带有
--ports
标志的minikube示例的字符串
0.0.0.0:5000->5000/tcp
在Minikube中重新测试注册表
型
qco9c6ql3#
如果您使用的是macOS,请尝试使用
0.0.0.0:5000/xxx
标记图像,然后推送。另请参阅相关问题:https://github.com/docker/for-mac/issues/3611