Tag: nginx

Docker的nginx容器:http代码400

我是一个新的docker工人,我试图从https://hub.docker.com/_/nginx/运行nginx 我拉了图像 docker pull nginx 我正在运行容器 docker run –rm –name=some-nginx -p 8080:80 nginx 但是当我在本地机器的浏览器中打开localhost:8080的时候总是得到http 400。 从docker输出日志: 172.17.0.1 – – [14/Dec/2017:23:07:11 +0000] "\x16\x03\x01\x00\xB5\x01\x00\x00\xB1\x03\x03\x81e|u\x93\xFC`Qo\xC8\xE6y\x18{%\x83\x8C\xC2a\xC93V\xB5;\xC0V\xDC\x10{\xC9)X\x00\x00\x1E\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 173 "-" "-" "-" 怎么了? 我检查了遏制器( curl localhost )内的nginx,它的工作原理。 谢谢。

如何在Docker中使用dynamic生成的Nginxconfiguration文件?

我正在开发一个使用Nginx和ExpressJS(NodeJS)的应用程序,我正在使用Docker(使用docker-compose ) 我没有把应用程序保留在Docker中。 我的应用程序dynamic创buildNginxconfiguration。 最初,这些Nginxconfiguration被放置在我的应用程序中的一个标准目录中。 我已经configurationNginx从这个目录中读取所有的* .conf文件,一切都很好。 现在我正在使用Docker,我使用了两个不同的容器:一个用于Nginx,一个用于我的应用程序。 问:如何将生成的configuration文件从一个容器移动到另一个容器? 有没有更好的方法来实现这一目标?

如何在nginx docker和uwsgi docker之间共享.sock文件?

我使用docker-compose,现在有两个docker容器 – 一个是nginx web服务器,而另一个是Ubuntu uwsgi和Flask。 据我所知,连接nginx和uWSGI的最好方法是通过在它们之间共享一个*​​ .sock文件来完成的,并将请求传递到文件中(而且,这是我在没有使用docker的旧项目中所做的)。 我想知道如何分享docker之间的袜子文件,以便他们之间的沟通? 而在所有..我想知道是否这两个容器的情况下 – 一个nginx和一个为Flask框架和uWSGI – 是最好的做法和权利。 谢谢

Docker – 安装php-memcached扩展不工作?

我一直试图在我的php-5.6容器中安装memcached,但是我无法得到它的工作,因为我没有看到在phpinfo()中的memcached扩展,加上由于某种原因,它抱怨说,它无法find在代码中的memcache.so。 有我的docker文件为PHP构build FROM php:5.6-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd –with-freetype-dir=/usr/include/ –with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd RUN docker-php-ext-install mysqli mbstring pdo_mysql # Download and Installing php libraries RUN apt-get install -y memcached RUN apt-get -y […]

未知模式:docker stack部署中的主机

我的主要目标是在Docker群中公开端口并进行堆栈部署(通常我们可以从Docker群集群中的任何机器访问公开的服务),使得只有一台机器可以使用Nginx服务。 为此,我已经看到 mode: host选项。 但是当我在Docker组合文件中使用它,并做堆栈部署,然后我得到错误service nginx: Unknown mode: host 。 nginx.yml文件 version: "3.4" services: nginx: image: ramidavalapati/nginx:tag1 deploy: mode: host restart_policy: condition: on-failure placement: constraints: [node.hostname == ram-ThinkPad-E470] ports: – 80:80 – 443:443 volumes: – /home/ram/nginxDocker/nginx.conf:/etc/nginx/nginx.conf – /home/ram/nginxDocker/logs/access.log:/var/log/nginx/access.log – /home/ram/nginxDocker/logs/error.log:/var/log/nginx/error.log networks: – all command: ["nginx", '-g', 'daemon off;'] networks: all: external: true 部署: $ sudo […]

转发客户端的请求头

我有两个docker镜像,一个用于接收客户端请求的nginx,这个请求包含客户端的IP地址User-Agent。 另一个图像是一个asp.net应用程序,用于接收从nginx发送的具有客户端信息的请求。 我的问题是收到的请求包含nginx信息而不是客户端信息。 下面显示了nginx docker镜像的configuration。 server { access_log /var/log/nginx/access-default.log; error_log /var/log/nginx/error-default.log; listen 80; location / { proxy_pass http://172.18.0.2:5000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Origin $http_origin; proxy_set_header User-Agent $http_user_agent; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_cache_bypass $http_upgrade; } }