如何删除Nginx上传限制?

时间:2019-12-10 12:42:07

标签: docker nginx

我们有一个专用的docker注册中心和一个用于身份验证和反向代理的Nginx infront。最近,每次我尝试上传具有较大图层(大约2 Gi)的图像时,我都会遇到不同的错误,例如:

The push refers to repository [mydockerurl]
ce7ac3355b6d: Layer already exists
0f0c22119274: Pushing [==================================================>]  3.232GB/3.232GB
e0b3afb09dc3: Layer already exists
6c01b5a53aac: Layer already exists
2c6ac8e5063e: Layer already exists
cc967c529ced: Layer already exists
received unexpected HTTP status: 500 Internal Server Error

#OR

The push refers to repository [mydockerurl]
ce7ac3355b6d: Layer already exists
0f0c22119274: Pushing [==================================================>]  3.232GB/3.232GB
e0b3afb09dc3: Layer already exists
6c01b5a53aac: Layer already exists
2c6ac8e5063e: Layer already exists
cc967c529ced: Layer already exists
net/http: HTTP/1.x transport connection broken: write tcp [my-machine-ip]:51424->[docker-ip]:443: write: broken pipe

我什至试图将图像分成较小的层,但是我仍然面临这个问题。

我检查了Nginx的配置,但所有大小参数均设置为零,这意味着没有限制:

~/nginx$ grep -rn . -e size

./auth/nginx.conf:34:     client_max_body_size 0;
./auth/nginx.conf:45:         client_max_body_size 0;
./auth/nginx.conf:64:    client_max_body_size 0;
./auth/nginx.conf:92:      client_max_body_size 0;
./auth/nginx.conf:110:    client_max_body_size 0;
./auth/nginx.conf:126:        client_max_body_size 0;
./auth/nginx.conf:139:        client_max_body_size 0;
./auth/nginx.conf:154:    client_max_body_size 0;
./auth/nginx.conf:174:    client_max_body_size 0;

我仍然认为此限制是由Nginx施加的,如何删除此限制?或者我如何确定这不是Nginx施加的限制?

更新

添加client_body_timeout并将其设置为600s后,仍然出现相同的错误。

更新2

我发现问题出在我们的服务器上没有足够的可用磁盘空间,这就是为什么我能够推送较小的层但不能推送较大的层的原因。

0 个答案:

没有答案