首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用码头司机的小型码头码头本地私人登记处

使用码头司机的小型码头码头本地私人登记处
EN

Stack Overflow用户
提问于 2021-04-09 11:19:47
回答 1查看 1K关注 0票数 0

问题

如何在使用码头司机时运行小型码头中的本地码头私人注册中心?(--driver=docker)

问题

当将图像推送到专用注册表时,连接拒绝

代码语言:javascript
复制
docker push docker-registry.kubemaster.me/docker-cats:latest

# Results
The push refers to repository [docker-registry.kubemaster.me/docker-cats]
Get http://docker-registry.kubemaster.me/v2/: dial tcp 127.0.0.1:80: connect: connection refused

我的圈套

在Windows WSL2上使用minikube码头司机的Minikube。

代码语言:javascript
复制
minikube start --driver=docker --kubernetes-version=v1.20.2

我已经部署了nginx-入口控制器,它监听端口80和443。该应用程序可以通过HTTP和HTTPS获得(使用证书经理进行TLS证书)。当然,我将127.0.0.1 docker-registry.kubemaster.me添加到C:\Windows\System32\drivers\etc\hosts文件中。

注意到:我在后台运行minikube tunnel,这就是为什么可以通过nginx入口控制器从主机与整个集群进行通信的原因。

访问本地注册表

  • 来自Windows主机
  • 来自WSL2 Ubuntu客服机。 卷曲目录
  • 来自minikube码头集装箱 docker exec -it minikube bash root@minikube:/$ curl 目录
  • 迷你库贝码头集装箱推出 docker exec -it minikube bash root@minikube:/$ docker push docker-Regiy.kubemaster.me/docker-使用默认标记的猫:最新的push引用存储库码头-注册库-注册库--it 346be19f13b0:层已经存在935f303ebf75:层已经存在0e64bafdc7ee:最新推:文摘: 943

YAML -部署、服务和侵入

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: docker-registry
  name: docker-registry
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: docker-registry
  template:
    metadata:
      labels:
        k8s-app: docker-registry
    spec:
      containers:
        - image: registry:2
          imagePullPolicy: Always
          name: docker-registry
          env:
            - name: REGISTRY_HTTP_SECRET
              value: "some-secret"
            - name: REGISTRY_HTTP_ADDR
              value: "0.0.0.0:80"
          ports:
            - containerPort: 80
              hostPort: 80
              protocol: TCP
          resources:
            limits:
              memory: 400Mi
              cpu: "200m"
            requests:
              memory: 200Mi
              cpu: 100m
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: docker-registry
  name: docker-registry
  namespace: kube-system
spec:
  type: LoadBalancer
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 80
  selector:
    k8s-app: docker-registry
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: docker-registry
  namespace: kube-system
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 2000m # support large images
spec:
  ingressClassName: nginx
  rules:
    - host: docker-registry.kubemaster.me
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              serviceName: docker-registry
              servicePort: 80

P.S-我如何为开发目的部署本地Kubernetes集群的设置- https://github.com/unfor19/kubernetes-localdev

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-10 08:39:20

放弃了这个想法,相反,我正在使用minikube的Docker守护进程执行

代码语言:javascript
复制
eval $(minikube docker-env)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67020152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档