Tag: nginx

在docker容器中挂载nginxconfiguration文件

我想将nginx.conf和default.conf挂载到一个运行nginx的容器上。 docker run –detach –tty –interactive –publish=8081:80 -v $(pwd)/app:/var/www/ -v $(pwd)/configurations/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/configurations/default.conf:/etc/nginx/sites-enabled/default.conf –name="my_container" my:dev 我有一个404错误,当我login泊坞窗容器,我发现应用程序目录是挂载,但default.conf是默认的。 这是default.conf文件: server { root /var/www; index index.html index.htm index.php; server_name localhost; location / { try_files $uri $uri/ /index.php?$query_string =404; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; […]

如何停止在前台dockerized nginx淹没日志?

我在一个由supervisordpipe理的docker容器中运行nginx和独angular兽。 所以,supervisord是docker的命令。 它反过来产生nginx和独angular兽。 独angular兽通过套接字与nginx交谈。 nginx监听端口80。 我也有一个logspout泊坞窗容器运行,基本上通过监听docker.sock将所有的docker日志传送到papertrail。 问题是nginx正在不断向成千上万的日志input日志: 172.31.45.231 – – [25/May/2016:05:53:33 +0000] "GET / HTTP/1.0" 200 12961 0.0090 我试图禁用它。 到目前为止我已经: 设置access_logs /dev/null; 在nginx.conf和vhost文件中。 试图告诉supervisord停止logging请求 [program:nginx] command = bash -c“/ usr / sbin / nginx -c /etc/nginx/nginx.conf”stdout_logfile = / dev / null stderr_logfile = / dev / null 试图告诉supervisord发送日志到syslog不是标准输出: [program:nginx] command = bash -c“/ usr / […]

用于服务HTTP / HTTPS请求的Beanstalk-Dockerconfiguration问题

我有一个应用程序部署在使用Ruby on Rails,Nginx-Passenger,多容器泊坞窗configuration构build的Elastic Beanstalk上。 负载均衡器也configuration相同。 我也上传了SSL证书(来自第三方)到IAM。 如果我在Dockerrun.aws.json中将ContainerPortconfiguration为80,那么应用程序仅通过http进行响应,如果Containerportconfiguration为443,则它仅通过https进行响应。 即使两个ContainerPorts都在Dockerrun.aws.json中指定,那么Beanstalk也只使用其中的一个。 用豆杆,我不能为我的容器暴露多个端口。 也就是说,我可以打开http或https。 两者不能一起工作。 我试图实现的是,如果有人访问http上的链接,它应该自动redirect到https和服务请求。 目前,由于Dockerrun.aws.json的configuration,两者中只有一个会工作。 我还configuration了负载均衡器configuration以使用HTTPS。 以下屏幕截图供您参考。 如果我缺less任何configuration,请让我知道。 Load_balancer

Docker:Nginx + PHP-FPM和多个站点

我是Docker中的新成员,我正在寻找在不同的容器中安装多个站点。 我做了2个容器,1个用Nginx,1个用php-fpm,与PHP文件共享一个volumen。 我的想法是为每个站点创build一个Nginx容器,但是我不想为每个站点创build一个php-fpm容器。 有多个站点与Docker的最佳方式是什么? UPDATE 我使用Nginx和PHP-FPM创build了自己的Docker镜像,这个镜像是基于官方的Nginx镜像。 两个服务在同一个容器中。 https://hub.docker.com/r/dignajar/nginx-php-fpm/

Docker不可能将nginx容器与php-fpm容器联系起来

你好,我的工作我正在做一个nginx服务器和PHP的服务器与docker,但我不知道如何链接Nginx和PHP与快速CGI Nginx – Docker文件 FROM debian:jessie MAINTAINER Thomas Vidal <thomas-vidal@hotmail.com> RUN apt-get update && apt-get upgrade RUN apt-get install -y wget RUN wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key RUN apt-get update && apt-get install -y nginx RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf RUN ln -sf /etc/nginx/conf.d /site-conf RUN ln -sf /var/www/html /www VOLUME ["/site-conf", "/www"] […]

Dockerdynamic负载均衡与Nginx

我正在做一个专注于Docker的实习,我必须负载平衡一个有客户端,服务器和数据库的应用程序。 我使用Nginx作为负载平衡器,我的目标是根据CPU使用情况dynamic地扩展服务器容器的数量。 例如,如果CPU使用率超过60%,我想在不重新启动Nginx的情况下添加一个新的容器来分配CPU使用率。 我必须修改nginx.conf文件来添加一个新的容器,但我必须重新启动Nginx容器才能应用更改,这是非常缓慢的。 所以我的问题是:是否有一个(免费)的方式dynamic地做到这一点? 告诉我,如果你想要更多的信息,请原谅我可怜的英语。 谢谢。 编辑:我做了@Konstantin阿齐佐夫告诉我: docker cp ./new.conf $(docker ps -f "name=dockerizedrubis_nginx" -q ):/etc/nginx/nginx.conf docker exec $(docker ps -f "name=dockerizedrubis_nginx" -q) bash -c 'kill -HUP $(cat /run/nginx.pid)' docker exec $(docker ps -f "name=dockerizedrubis_nginx" -q) bash -c '/etc/init.d/nginx reload' configuration文件粘贴在支持Nginx的容器中,我发送HUP信号重新configurationNginx进程,然后重新加载以应用我的更改。 没有任何错误,即时重新载入工作正常,但我的新节点不被Nginx考虑,请求仍然只是针对创build的第一个节点… 编辑2:我find了问题的根源。 这似乎是为了在'docker-compose scale'之后更新一个容器的/ etc / hosts,这个容器需要被停止,删除和重新启动。 就我而言,我真的不想停止支持Nginx的容器。 问题:任何人都有一个想法,如何在重新规模后更新容器的/ etc / hosts而不必重新启动容器(在脏脚本旁边)? 谢谢。

如何从Docker容器中获取外部主机的IP地址

我们正在从CoreOS转换到CentOS,从舰队到群集。 我需要确定从容器内运行docker的机器的ip地址。 问题是我们使用nginx来确定我们的docker集群中的哪台机器运行哪个服务。 为了使这个工作,我们需要容器能够发布到我们的etcd存储库它所在的机器的IP地址。 到目前为止,我所见过的所有东西都能够让我到外部机器的IP地址172.17.0.1,但是我们所有的docker上的所有容器都有这个私有地址。 我需要一个外部地址,nginx可以用来获得服务。 我可以使用“ – 主机名ip … ”选项或“-e EXT_HOST_IP = ip … ”选项来设置一个IP地址,但是如果我在“docker run”命令中包含这些选项, docker命令将扩展'ip …'并返回当前机器的IP地址 – 不是群集最终运行容器的机器。 到目前为止我所得到的最好的结果是在主机上创build一个包含主机IP地址的文件/目录。 然后,我可以使用docker'-v'选项来挂载容器中的目录,并从中获取ip地址。 这似乎应该有一个更简单的方法来做到这一点。

wordpress容器无法连接到mariadb容器

这是我的Docker撰写文件: version: '2' services: wordpress: image: wordpress environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: ***** WORDPRESS_DB_NAME: wordpress links: – db:mysql ports: – 8000:80 #network_mode: "none" restart: always db: image: mariadb environment: MYSQL_ROOT_PASSWORD: ***** MYSQL_DATABASE: wordpress MYSQL_USER: root MYSQL_PASSWORD: ***** ports: – 8001:3306 volumes: – ./configs/etc/mysql/my.cnf:/etc/mysql/my.cnf restart: always 这是我在docker日志中得到的错误: Warning: mysqli::mysqli(): (HY000/2002): Connection refused in – on […]

Django&WordPress的 – wp-adminredirect问题

我有一些特定的configuration。 我有一个django网站,并且想要添加一个由Wordpress驱动的退出博客到django子文件夹。 出于安全考虑,我不想将django安装在堆栈上,然后在docker中运行它。 两者都是由nginx服务的,django也有一个uwsgi。 在WordPress的pipe理员,我configuration了这样的网站和WordPress的url: https://mycoolsite.tld/blog 所以,一切正常,除了一些硬编码的redirect从https://mycoolsite.tld/blog/wp-admin到https://mycoolsite.tld/wp-admin 。 这个问题 – 如何使用nginx位置(如果可能,不要调整wordpress)来访问/blog/wp-admin url? 相关的nginxconfiguration: Django服务器 – nginx博客位置 location /blog/ { rewrite ^/blog/(.*)$ /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; # localhost(8080) <–> docker(80) proxy_redirect off; } WordPress的Nginx的configuration(在docker) : server { listen 80 default_server; root /var/www/wordpress; index index.php index.html index.htm; location […]

主机中无法访问Docker容器

我的一些容器正在生产中运行一个Web服务器(PHP,NodeJS)。 如果我们以NodeJS容器为例,这是它的configuration 泊坞窗,compose.yml version: '2' services: webapp: build: . volumes_from: – data links: – db:db – redis:redis ports: – '8080:3000' restart: always … 有了这个configuration,我可以通过http://example.com:8080/访问我的webapp,但是我无法访问我的主机 $ curl localhost:8080 (Time-out) 我的主机上有这个configuration的Nginx服务器: example.com.conf upstream webapp { server 127.0.0.1:8080; } server { listen 80; listen [::]:80; server_name example.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header HOST $http_host; proxy_set_header X-Forwarded-For […]