无法推送到Kubernetes集群内部的私有Docker注册中心

时间:2019-05-23 11:12:47

标签: docker kubernetes docker-registry

我在k8s集群中创建了一个私有注册表,并通过https和ingress公开了它。我建立自己的映像并将其推送到此注册表。我可以进行docker构建,但是无法进行“ docker登录”或“ docker push”。这是我得到的错误:

docker login registry.example.com
Username: admin
Password: 
Error response from daemon: Get https://registry.example.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这是我正在其中运行的吊舱,

apiVersion: apps/v1
kind: Deployment
metadata:
  name: docker
spec:
  selector:
    matchLabels:
      app: docker
  replicas: 1
  template:
    metadata:
      labels:
        app: docker
    spec:
      containers:
      - name: docker
        image: docker:stable
        command: ["docker"]
        volumeMounts:
          - name: docker-socket
            mountPath: /var/run/docker.sock
      volumes:
        - name: docker-socket
          hostPath:
            path: /var/run/docker.sock
            type: Socket

我能够从同一设置推送到官方Docker注册表,我的gitlab注册表等。

我还可以在本地笔记本电脑上创建具有相同设置的容器实例,然后推送到k8s注册表。

是否有任何安全设置可阻止我推送到自己的k8s注册表?还是网络问题?

注意,我可以从Pod内部成功卷曲到k8s注册表。

更多信息:我正在DigitalOcean Kubernetes集群中运行它。

0 个答案:

没有答案