正在Nginx后面运行Docker引擎API

问题描述 投票:0回答:1

我正在尝试运行nginx后面的docker并将其用作反向代理。一切正常,除非docker用原始流"application/vnd.docker.raw-stream"而不是常规HTTP响应进行响应。这是端点/start/attach等在此处记录的情况:https://docs.docker.com/engine/api/v1.21/#operation/ExecStart

这是我的nginx配置未将docker响应转发给客户端的时候。我尝试对其进行搜索,只有一篇博客文章建议对实际的nginx C文件进行补丁:https://blog.yadutaf.fr/2014/12/12/how-to-run-docker-behind-an-nginx-reverse-proxy/

[我完全关注了上面的博客,但是,设置r->upstream->upgrade = 1;似乎对Docker中的/start HTTP端点没有影响。 Nginx根本不响应。有没有办法解决?这是我目前的nginx.conf文件:

daemon off;
error_log /dev/stdout info;
# error_log logs/error.log debug;

events {
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                               '$status $body_bytes_sent "$http_referer" '
                               '"$http_user_agent" "$http_x_forwarded_for"';
    access_log /dev/stdout main;
    # include       mime.types;
    # default_type  application/octet-stream;
    # sendfile        on;
    # keepalive_timeout  65;

    upstream dockerpool {
        # session_sticky cookie=sessionid fallback=off mode=insert option=indirect;
        # backup server
        # server nginx_dev_test:80;
        server socat:2376;
    }

    server {
        listen 80;

        location / {
            # The upstream here must be a nginx variable
            set $ups dockerpool;
            proxy_buffering off;
            proxy_pass http://$ups;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
        }
    }

}
docker nginx autoscaling nginx-reverse-proxy docker-engine
1个回答
0
投票

对于遇到同样问题的任何人,我都在互联网上进行了广泛的研究,没有一种明智的方法来获得我想与Nginx一起工作的方法,即使您解决了这一问题,您也会对自动缩放/负载平衡感到惊讶。这种架构。

今天,我使用摇杆表移到了HAProxy,其工作原理很像。 Nginx不适合此用例。

© www.soinside.com 2019 - 2024. All rights reserved.