Tag: nginx

使用“allow”指令将对nginx服务器位置的访问限制到特定的Docker容器

编辑:塔伦的答案正是我所要求的。 欧根的答案也是一个很好的解决scheme。 我最终接受塔伦的答案是正确的,但使用欧根的。 如果你有类似的问题,并担心其他容器访问nginx状态服务器,请使用Tarun的答案。 如果你愿意坚持Docker的正常主机名称,请使用Eugen's。 +++原始问题+++ 我有一个应用程序,我用docker-compose构build。 我正试图通过DataDog集成监控。 我正在使用DataDog的代理容器,到目前为止一切正常。 我想通过调整本教程来让nginx监视起来并运行。 我的应用程序在docker-compose文件中定义如下: version: '2' services: flask: restart: always image: me/flask-app command: /home/app/flask/start_app.sh expose: – "8080" nginx: restart: always build: ./nginx command: /runtime/start_nginx.sh ports: – "80:80" – "443:443" expose: – "81" volumes: – app-static:/app-static:ro links: – flask:flask datadog-agent: image: me/datadog-agent env_file: ./datadog-agent/dev.env links: – flask – nginx […]

在本地 – 在Nginx容器上使用代理到Node Express容器的React App

这应该是非常简单,但看起来像我失去了一些非常基本的东西,任何帮助将不胜感激。 我在本地MacBook上运行POC。 基本的想法是使用create-react-app build脚本build React应用create-react-app并将其部署到本地的nginx-alpine容器中。 我能够做到这一点。 我能够访问index.html,看看我应该看到什么时候客户端容器正在运行。 我有一个运行在同一台本地机器上的node-express后端,它使用一个node docker镜像站立起来。 我能够设置这个,我能够击中这些图像从我的浏览器提供的端点。 问题是,我内部的api这些高端的端点叫做什么。 我已经在我的nginx.conf设置了proxy_pass ,并尝试了很多方法来设置它。 没有一个工作。 我已经尝试使用localhost ,累了使用127.0.0.1 ,尝试使用docker容器的IP地址,尝试使用docker service name ,尝试将其设置为我的nginx.conf upstream ,试图直接在proxy_pass使用后端URL。 没有任何工作 这里是代码… http://localhost/ – >加载用户界面 http://localhost:3001/features – >返回我需要在UI上使用的JSON负载 http://localhost/admin – >是我的用户界面上的一个组件,它使用fetch API来加载path/features 。 nginx.conf upstream app_servers { server localhost:3001; } # Configuration for the server server { # Running port listen 80; root […]

如何使dockerized nginx从其他容器中获取文件更改

我怎样才能configurationnginx和我的客户端应用程序(烬)来获取文件的变化? 编辑 : 我在想共享一个卷,我需要指定在docker-compose文件中具有相同path的卷。 我已经在nginx和我的前端应用程序之间挂载了共享卷(也许?),但在前端应用程序中所做的更改不会在nginx中find,除非我重新构build了docker容器。 我读过很多问题,解决scheme归结为一个。 份额(我已经完成)b。 在nginx中设置服务文件(它是): docker-compose.yml version: "3" services: client: build: "./client" command: npm start env_file: – .env-dev ports: – "4200:4200" – "35730:35730" volumes: – /var/www/app/client – /var/www/app/client/node_modules – .:/client nginx: build: ./nginx env_file: .env-dev volumes: – /var/www/app/nginx depends_on: – client networks: – clientnet ports: – "80:80" networks: clientnet: driver: bridge nginx.conf […]

我在哪里可以得到docker图像脱机?

在我的工作环境中,我无法连接到networking,但是我可以连接到可以连接到networking的下载机器。 但是我不知道如何find一个docker镜像并下载它。 网站docker hub只显示“docker pull nginx”这样的命令,但是我不能连接到networking,对我来说是没用的。 我的问题: 现在,我已经通过下载docker-engine.deb安装了docker。 我在哪里可以得到docker的图像脱机?

Docker,Alpine,IonCube,PHP7 FPM

我正在尝试Dockerize使用IonCubeencryption的PHP应用程序。 独立于IonCube的应用程序运行良好,当我尝试Dockerize这与精益图像(Docker,Alpine,PHP7.0)它唯一的失败围绕IonCube安装。 采取的步骤: 按照显示的IonCube指示进行安装。 尝试安装后,导航到Docker镜像中的目录,以确认COPY已正确执行,并且所有相关文件都使用“docker exec -it image_name / bin / sh”显示在映像中。 虽然这些文件按照上面的命令显示,但在检查完映像后,Powershell中的一条消息显示:“加载失败/usr/lib/php7/modules/ioncube_loader_lin_7.0.so:重定位/ usr / lib / php7 / modules / ioncube_loader_lin_7 .0.so:__strtod_internal:找不到符号“。 再次访问docker图像“docker执行 – 图像名称/ bin / sh”和文件显示。 但似乎无法加载.SO文件。 最初以为也许它是一个目录权限问题,但仍然没有运气,当我chmod目录777。 有没有人在过去遇到这个问题? Dockerfile内容: FROM richarvey/nginx-php-fpm:php7 COPY web /www RUN chmod -R 777 /usr/lib/php7/modules COPY web/ioncube/linux-64 /usr/lib/php7/modules COPY web/ioncube/linux-64-ini /etc/php7/conf.d WORKDIR /www IonCube loader-wizard.php说明: 下载以下Linux x86-64装载机存档之一: […]

在vmware的stream浪汉docker中的uwsgi – socket没有被创build

在我的Mac上,我在VMware中运行Windows Server 2016。 在那里,我在vagrant / Virtual Box中运行Ubuntu。 在那里,我试图在nginx / uwsgi的docker容器中运行一个django应用程序。 uwsgi未能开始: [uWSGI] getting INI configuration from /opt/django/CAPgraph/uwsgi.ini *** Starting uWSGI 2.0.15 (64bit) on [Thu Aug 17 20:01:23 2017] *** compiled with version: 6.4.0 20170805 on 17 August 2017 06:10:50 os: Linux-3.13.0-128-generic #177-Ubuntu SMP Tue Aug 8 11:40:23 UTC 2017 nodename: 37db4344b5ae machine: x86_64 clock source: […]

Docker的nginx错误:openssl:找不到命令

我使用nginx作为代理来转发请求到其他组件(服务器)。 包括nginx在内的每个组件都是作为docker容器实现的,也就是说,我有一个'nginx-proxy','dashboard-server','backend-server'(REST API)和'landing-server'(着陆页) 。 后面的3个组件都是NodeJS Express服务器,并且在我使用命令docker-compose build时正常工作,没有任何错误,但是当我用docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d启动容器时docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d NodeJS容器工作正常,但是nginx容器使用docker-compose logs nginx-proxy给了我这个错误docker-compose logs nginx-proxy : Attaching to docker_nginx-proxy_1 nginx-proxy_1 | /start.sh: line 5: openssl: command not found nginx-proxy_1 | Creating dhparams…\c nginx-proxy_1 | ok nginx-proxy_1 | Starting nginx… nginx-proxy_1 | 2017/08/23 23:27:20 [emerg] 6#6: BIO_new_file(“/etc/letsencrypt/live/admin.domain.com/fullchain.pem”) […]

如何构build一个nginx docker容器以及它所服务的资源的构build

我在docker容器中运行了一个nginx服务,它提供了一些静态文件和一个编译文件(一个由webpack构build的js包)。 我不希望我的源文件在nginx容器中,而是我只想让那些允许nginx在那里服务的文件。 因此,我目前有2个docker容器–1个生成.js包必须在构build第二个docker镜像之前运行,然后从主机(它是由运行第一个容器生成的)拾取包文件。 ) 这似乎是错误的,因为我的nginx图像编译应该立即从我感觉的源代码运行。 但是,如果我将webpack版本添加到nginx图像dockerfile中,那么我将不得不将整个源代码复制到容器中,这也是错误的。 我错过了什么? (注意:我曾经考虑复制那里的文件,进行构build,然后只是我不想要的文件,但它看起来很糟糕,并且会不必要地增加容器的大小,尽pipe这是正确的方法,但愿意接受!)

根据环境variables设置nginx设置响应

我使用一个简单的Nginx docker容器来提供一些静态文件。 我使用在容器上设置环境variables的Kubernetes将这个容器部署到不同的环境(例如,分段,生产等)(假设FOO_COUNT )。 让Nginx将FOO_COUNT的值作为头部传递给每个响应的最简单的方法是什么,而不必为每个环境构build不同的容器?

Docker + NGINX,我怎么把configuration文件从主机复制到容器?

这是我的基本NGINX设置工作! web: image: nginx volumes: – ./nginx:/etc/nginx/conf.d …. 我通过将./nginx复制到/etc/nginx/conf.d使用COPY ./nginx /etc/nginx/conf.d到我的容器中来replacevolumes 。 这个问题是因为,通过使用值nginx.conf引用日志文件在我的主机,而不是我的容器。 所以,我认为通过硬拷贝configuration文件到容器它将解决我的问题。 然而,在docker compose up NGINX根本没有运行。 哪里不对? 编辑: Dockerfile FROM python:3-onbuild COPY ./ /app COPY ./nginx /etc/nginx/conf.d RUN chmod +x /app/start_celerybeat.sh RUN chmod +x /app/start_celeryd.sh RUN chmod +x /app/start_web.sh RUN pip install -r /app/requirements.txt RUN python /app/manage.py collectstatic –noinput RUN /app/automation/rm.sh 泊坞窗,compose.yml version: […]