Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker将间歇性故障推送到kubernetes(Docker桌面)上的专用Docker注册表_Docker_Kubernetes_Registry_Private_Docker Desktop - Fatal编程技术网

Docker将间歇性故障推送到kubernetes(Docker桌面)上的专用Docker注册表

Docker将间歇性故障推送到kubernetes(Docker桌面)上的专用Docker注册表,docker,kubernetes,registry,private,docker-desktop,Docker,Kubernetes,Registry,Private,Docker Desktop,我正在docker desktop(mac)上运行kubernetes群集 它内部有一个本地docker注册表 我可以通过API调用查询注册表,以获得标记列表 我以前能够推送图像,但推送需要多次尝试 我现在不能推动新的改变。看起来它成功地推送了层,但没有确认层已被推送,然后重试 Repo被称为localhost:5000,我根据上的说明正确地进行了端口转发 我不使用ssl证书,因为这是为了在本地计算机上进行开发 (端口转发已被证明有效,否则API调用将失败) 解决方法(这将足够但并不理想,因为必

我正在docker desktop(mac)上运行kubernetes群集

它内部有一个本地docker注册表

我可以通过API调用查询注册表,以获得标记列表

我以前能够推送图像,但推送需要多次尝试

我现在不能推动新的改变。看起来它成功地推送了层,但没有确认层已被推送,然后重试

Repo被称为localhost:5000,我根据上的说明正确地进行了端口转发

我不使用ssl证书,因为这是为了在本地计算机上进行开发

(端口转发已被证明有效,否则API调用将失败)

解决方法(这将足够但并不理想,因为必须构建每个容器

用于注册表的Kubectl日志

10.1.0.1 - - [20/Feb/2019:19:18:03 +0000] "POST /v2/aetasa/cta-user-create-app/blobs/uploads/ HTTP/1.1" 202 0 "-" "docker/18.09.2 go/go1.10.6 git-commit/6247962 kernel/4.9.125-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/18.09.2 \x5C(darwin\x5C))" "-"
2019/02/20 19:18:03 [warn] 12#12: *293 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000011, client: 10.1.0.1, server: localhost, request: "PATCH /v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D HTTP/1.1", host: "localhost:5000"
2019/02/20 19:18:03 [error] 12#12: *293 connect() failed (111: Connection refused) while connecting to upstream, client: 10.1.0.1, server: localhost, request: "PATCH /v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D HTTP/1.1", upstream: "http://10.104.68.90:5000/v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D", host: "localhost:5000"

这可能是磁盘空间问题。如果您将docker映像存储在docker VM中,则可以很快填满磁盘空间


默认情况下,docker desktop VM磁盘空间限制为64 GB。您可以在docker首选项中的“磁盘”选项卡上将其最大容量增加到112Gb。我已经多次遇到此问题,不幸的是无法获得永久修复

最有可能的是,该图像在注册表中已损坏。作为一种解决方法,我建议您从注册表中删除该图像并进行新的推送。这样可以工作,后续的推送也可以工作


此问题必须与缺少的图像层有关。有时我们使用--force选项删除图像,在这种情况下,可能会删除一些常见层,并影响共享删除层的其他图像。

请尝试为docker客户端配置
--max concurrent uploads=1
。您是我们使用了相当大的层(350MB),所以您可能在某个地方遇到了一些限制(请求大小、超时)。单个并发上载可能会对您有所帮助,但这只是一个解决办法。真正的解决方案将是配置(缓冲区大小、超时等)注册表+反向代理最终会出现在注册表前面。

不是这样。磁盘首选项显示虚拟机在磁盘上只有15.7GB。请共享用于推送到docker注册表的命令。此外,注册表是在kubernetes中还是作为普通docker容器。如果它是kubernetes o的一部分,请共享注册表的
kubectl get po
r
docker ps
otherwise您是否也可以共享注册表pod/容器中的日志?之前我看到一个错误“blob”未知,但它似乎不再出现。@fatcook注册表位于kube Cluster内。如果您尚未执行此操作,请尝试此操作,将docker config中的
--unsecure registries
标记设置为localhost:5000,并提供了有关如何执行此操作的详细信息
apiVersion: v1
kind: Pod
metadata:
  name: producer
  namespace: aetasa
spec:
  containers:
  - name: kafkaproducer
    image: localhost:5000/aetasa/cta-user-create-app
    imagePullPolicy: Never // this line uses the built container in docker
    ports:
        - containerPort: 5005
10.1.0.1 - - [20/Feb/2019:19:18:03 +0000] "POST /v2/aetasa/cta-user-create-app/blobs/uploads/ HTTP/1.1" 202 0 "-" "docker/18.09.2 go/go1.10.6 git-commit/6247962 kernel/4.9.125-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/18.09.2 \x5C(darwin\x5C))" "-"
2019/02/20 19:18:03 [warn] 12#12: *293 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000011, client: 10.1.0.1, server: localhost, request: "PATCH /v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D HTTP/1.1", host: "localhost:5000"
2019/02/20 19:18:03 [error] 12#12: *293 connect() failed (111: Connection refused) while connecting to upstream, client: 10.1.0.1, server: localhost, request: "PATCH /v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D HTTP/1.1", upstream: "http://10.104.68.90:5000/v2/aetasa/cta-user-create-app/blobs/uploads/16ad0e41-9af3-48c8-bdbe-e19e2b478278?_state=qjngrtaLCTal-7-hLwL9mvkmhOTHu4xvOv12gxYfgPx7Ik5hbWUiOiJhZXRhc2EvY3RhLXVzZXItY3JlYXRlLWFwcCIsIlVVSUQiOiIxNmFkMGU0MS05YWYzLTQ4YzgtYmRiZS1lMTllMmI0NzgyNzgiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDItMjBUMTk6MTg6MDMuMTU2ODYxNloifQ%3D%3D", host: "localhost:5000"