从 Docker 桌面访问部署在 Kubernetes 中的注册表时出现问题
Issue while accessing registry deployed in Kubernetes from Docker Desktop
我是 运行 Docker W10 Desktop 来试试 Camel-k。一旦在 Kubernetes 平台中完成构建,Camel-K 就需要一个存储库来推送图像。我不想配置 docker.io,因此在 Docker 桌面之上的 Kubernetes 运行 中部署了 docker 注册表。
已部署:https://github.com/Joxit/docker-registry-ui/tree/master/examples/helm/docker-registry-ui
**kubectl get pod:**
private-registry-registry-docker-registry-ui-69bdb85647-rmvhs
private-registry-ui-docker-registry-ui-6f49d78f58-d6qqt
更新中dockerdeamon.js
{
"registry-mirrors": [],
"insecure-registries" : [
"private-registry-registry-docker-registry-ui:5000"
],
"debug" : true,
"experimental": true
}
添加主机条目:
127.0.0.1 private-registry-registry-docker-registry-ui
kubectl port-forward访问5000端口:
kubectl port-forward private-registry-registry-docker-registry-ui-69bdb85647-rmvhs 5000:5000
推送图像
docker tag alpine:latest private-registry-registry-docker-registry-ui:5000/alpine:latest
docker push private-registry-registry-docker-registry-ui:5000/alpine:latest
The push refers to repository [private-registry-registry-docker-registry-ui:5000/alpine]
***Get http://private-registry-registry-docker-registry-ui:5000/v2/: dial tcp 127.0.0.1:5000: connect: connection refused***
有没有人在访问部署在 Kubernetes 中的注册表时遇到类似的问题?请建议需要做什么才能解决此问题。我在 Docker 桌面 mac 上发现了类似的问题,并且尝试过但没有成功。
您的 docker deamon.js 应该如下所示:
{
"registry-mirrors": [],
"insecure-registries" : [
"localhost:5000",
"127.0.0.1:5000",
"private-registry-registry-docker-registry-ui:5000"
],
"debug" : true,
"experimental": true
}
更新 docker deamon.js 后想要添加不安全注册表时,您必须重新启动 docker。确保你已经这样做了。确保端口 5000 在目标机器上打开。同时检查防火墙。
关于推送图像,我认为您没有 默认 注册表。你必须:
- 启动注册表容器
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
检查 registry
容器是 运行,执行命令:$ docker ps | grep registry
,然后继续 - 标记并推送您的图像。
标记您的图片 ($ docker tag ...
)
使用命令推送您的图像 ($ docker push ...
)
查看类似问题:docker-push-issue, 。
我是 运行 Docker W10 Desktop 来试试 Camel-k。一旦在 Kubernetes 平台中完成构建,Camel-K 就需要一个存储库来推送图像。我不想配置 docker.io,因此在 Docker 桌面之上的 Kubernetes 运行 中部署了 docker 注册表。
已部署:https://github.com/Joxit/docker-registry-ui/tree/master/examples/helm/docker-registry-ui
**kubectl get pod:**
private-registry-registry-docker-registry-ui-69bdb85647-rmvhs
private-registry-ui-docker-registry-ui-6f49d78f58-d6qqt
更新中dockerdeamon.js
{
"registry-mirrors": [],
"insecure-registries" : [
"private-registry-registry-docker-registry-ui:5000"
],
"debug" : true,
"experimental": true
}
添加主机条目:
127.0.0.1 private-registry-registry-docker-registry-ui
kubectl port-forward访问5000端口:
kubectl port-forward private-registry-registry-docker-registry-ui-69bdb85647-rmvhs 5000:5000
推送图像
docker tag alpine:latest private-registry-registry-docker-registry-ui:5000/alpine:latest
docker push private-registry-registry-docker-registry-ui:5000/alpine:latest
The push refers to repository [private-registry-registry-docker-registry-ui:5000/alpine]
***Get http://private-registry-registry-docker-registry-ui:5000/v2/: dial tcp 127.0.0.1:5000: connect: connection refused***
有没有人在访问部署在 Kubernetes 中的注册表时遇到类似的问题?请建议需要做什么才能解决此问题。我在 Docker 桌面 mac 上发现了类似的问题,并且尝试过但没有成功。
您的 docker deamon.js 应该如下所示:
{
"registry-mirrors": [],
"insecure-registries" : [
"localhost:5000",
"127.0.0.1:5000",
"private-registry-registry-docker-registry-ui:5000"
],
"debug" : true,
"experimental": true
}
更新 docker deamon.js 后想要添加不安全注册表时,您必须重新启动 docker。确保你已经这样做了。确保端口 5000 在目标机器上打开。同时检查防火墙。
关于推送图像,我认为您没有 默认 注册表。你必须:
- 启动注册表容器
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
检查 registry
容器是 运行,执行命令:$ docker ps | grep registry
,然后继续 - 标记并推送您的图像。
标记您的图片 (
$ docker tag ...
)使用命令推送您的图像 (
$ docker push ...
)
查看类似问题:docker-push-issue,