Tag: nginx

如何使用docker-compose创buildLEMP堆栈?

我想创build一个LEMP堆栈的docker-compose为本地web开发,但我有一些麻烦… 我写的configuration文件: 泊坞窗,compose.yml nginx: image: nginx:latest ports: – "8080:80" volumes: – ./web:/web – ./mysite.template:/etc/nginx/conf.d/mysite.template links: – php command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" php: image: php:7-fpm volumes: – ./web:/web mysite.template server { listen 80; root /web; index index.php index.html; server_name default_server; location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index […]

无法更改nginx.conf文件

我有一个运行CentOS6.7的stream浪盒,我正在运行docker容器。 我打算在容器中运行由nginx提供的容器应用程序。 我必须在nginx.conf文件中做一些更改,以便通过nginx提供我的应用程序(app1)。 这看起来可能有些奇怪,但我不能更改/etc/nginx/conf.d/nginx.conf中的nginx.conf文件 这是我做的: 方法1:更改Dockerfile 我的Dockerfile看起来像这样: FROM tiangolo/uwsgi-nginx-flask:flask COPY ./app /app COPY ./changes/nginx.conf /etc/nginx/conf.d/nginx.conf COPY ./changes/nginx.conf /app/ ./changes/nginx.conf看起来像这样: server { location /app1/ { try_files $uri @app; } location @app { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } location /static { alias /app/static; } } 请注意上述服务器块中位置的更改(位置location / location /app1/ 在build立镜像之后,我运行Docker容器,然后执行到正在运行的容器中 sudo docker exec -ti CONTAINER_ID /bin/bash cat […]

无法设置本地主机。 这可以防止创build一个GUID

我正在努力解决以下问题。 我们有一个在Docker上正常运行的Java应用程序。 现在,当我们尝试将应用程序迁移到Docker Swarm – 将其作为服务运行时,它总是抛出以下exception: Cache – Unable to set localhost. This prevents creation of a GUID. Cause was: 39bc5cdfb3d9: 39bc5cdfb3d9: Name or service not known java.net.UnknownHostException: 39bc5cdfb3d9: 39bc5cdfb3d9: Name or service not known 请注意, 39bc5cdfb3d9是容器ID。 我已经尝试了以下内容: 对我们正在使用的DNS进行curl 更新其他服务器备份的nginxconfiguration build立: 3个pipe理员 容器只在2台服务器app1.dev和app2.dev上运行,它有一个约束标签= dev 使用默认networking入口, DNS:dev-ecc.toroserver.com我使用这个运行服务: docker service create \ ${HTTP} \ ${HTTPS} \ ${VOLUMES} […]

2个具有不同端口的应用程序,在单个docker-compose和nginx反向代理中

我有一个应用程序与我的本地主机中的app.dev域运行。 但是,我想要有一个不同的端口运行额外的应用程序。 而不是80端口,它将2000域app.dev:2000在app2 /我可以知道我应该对我的docker组成和Nginx做什么改变? 谢谢 这是我的docker写作 version: "2" volumes: mongostorage: services: app: build: ./app ports: – "3000" links: – mongo – redis command: node ./bin/www app2: build: ./app2 ports: – "2000" links: – mongo – redis command: node app.js nginx: build: ./nginx ports: – "80:80" links: – app:app mongo: image: mongo:latest environment: – MONGO_DATA_DIR=/data/db volumes: […]

Docker:无法启动服务nginx

我正在使用docker -compose处理nginx服务,我创build了docker-compose.yml文件: version: '2' services: nginx: image: nginx:1.11.8-alpine ports: – "8858:80" volumes: – ./site.conf:/etc/nginx/conf.d/default.conf – ./code:/usr/share/nginx/html – ./html:/myapp – ./site.conf:/etc/nginx/conf.d/site.conf – ./error.log:/var/log/nginx/error.log – ./nginx.conf:/etc/nginx/nginx.conf:ro 这是site.conf文件 server { listen 80; index index.html index.php; server_name localhost; error_log /var/log/nginx/error.log; location / { root /usr/share/nginx/html; } location /html { alias /myapp; } } 这是docker组成的结果 错误:对于ef5152b88a7c_ef5152b88a7c_nginxdocker_nginx_1无法启动服务nginx:oci运行时错误:container_linux.go:247:启动容器进程导致“process_linux.go:359:容器init导致”rootfs_linux.go:54:挂载\\“/ root / nginx-搬运工/ nginx.conf […]

如何将多个日志stream从ecs上的单个容器logging到不同的cloudwatch日志stream中

AWS ECS中的任务定义支持指定日志驱动程序。 aws日志驱动程序允许指定日志组,区域和stream的前缀。 当来自不同容器的日志被发送到指定的日志组中的不同stream时,这可以很好地工作。 应该怎么做,从单个容器logging多个日志到单独的日志stream? 例如,要将nginx docker的访问日志和错误日志传递到独立的cloudwatch日志stream/日志组。

为什么“RUN rm /etc/nginx/conf.d/default.conf”没有成功?

我不想让我的nginx /etc/nginx/conf.d/default.conf镜像拥有/etc/nginx/conf.d/default.conf所以我写了一个简单的nginx dockerfile,主要是添加RUN rm /etc/nginx/conf.d/default.conf 令我惊讶的是,这没有奏效。 /etc/nginx/conf.d/default.conf仍然存在。 为什么以及如何删除它? 我的dockerfile: FROM nginx:latest # Copy custom configuration file from the current directory RUN rm /etc/nginx/conf.d/default.conf COPY nginx.conf /etc/nginx/nginx.conf COPY conf.d/node2 /etc/nginx/conf.d/node2 EXPOSE 80 8080 我的docker-compose.yml为nginx服务添加了名称卷 volumes: – conf:/etc/nginx/conf.d 更新: 我终于发现,这是因为我在我的docker-compose.yml中创build了一个名为volume的名称,它创build/etc/nginx/conf.d/default.conf因此/etc/nginx/conf.d/default.conf rm根本不起作用。 但是为什么创build名称卷将导致创build`/etc/nginx/conf.d/default.conf? UPDATE2: 随着第二个答案,我终于明白了为什么。 所以RUN rm /etc/nginx/conf.d/default.conf确实有效。 问题是我在运行RUN rm /etc/nginx/conf.d/default.conf之前创build的docker-compose.yml中使用了一个卷,并且该卷有default.conf。 发生了这样的情况,我第一次使用没有rm的dockerfile并运行docker docker-compose up ,然后我添加了rm来重build镜像并再次运行docker-compose up 。 但我永远不会更改我的docker-compose.yml或清理我的卷。 […]

在php容器中使用nginx

我有这个基于php-fpm的Dockerfile FROM php:7.1-fpm RUN apt-get -y update && apt-get -y upgrade # Basics RUN apt-get -y install vim nano git curl cron zsh # www-data user RUN usermod -u 1000 www-data RUN apt-get update \ && apt-get install -y nginx \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ && echo "daemon […]

Azure应用程序容器 – 代理访问端口443 – 混合内容

我部署了一个“Azure应用程序服务”泊坞窗容器,基本上工作正常。 我已经设置了一个自定义的SSL证书和域绑定! 太棒了! 现在的问题是,Azure代理肯定会接受端口443(https)入口,但是它不会在端口80以外的任何东西上联系到docker容器。这意味着docker上的nginx认为stream量来自HTTP,并写入相对URL为http; 给混合内容错误。 我如何让Azure通过SSL与443端口的docker容器联系,以便nginx服务器知道如何处理相关的url? 最好的,乔纳斯

尝试通过本地主机连接到docker集装箱

我有一个为laravel运行nginx和php-fpm的图像设置,我知道这个图像正在工作,因为我在现场服务器和本地Ubuntu上使用它。 我的问题是,我转换到Linux mint,并使用相同的命令 那是docker run –name social-server -itd -v ~/Desktop/nginx/conf/:/etc/nginx/sites-enabled -v ~/Desktop/nginx/logs/:/var/log/nginx –link social-db:mysql -v ~/Desktop/dashboard:/app -v ~/Desktop/secv/:/ssl -p 80:80 -p 443:443 php-base 由于某种原因,我不能得到它从localhost在浏览器连接。 检查了nginx的日志,他们没有被写入(不是error或access ),所以它没有连接到一般的容器 编辑:错误在浏览器中得到 This site can't be reached The connection was reset. Try: Checking the connection Checking the proxy and the firewall ERR_CONNECTION_RESET ReloadHIDE DETAILS 预先感谢您的帮助 编辑 我已经分解了运行命令,发现只有当我添加-v ~/Desktop/nginx/conf:/etc/nginx/sites-enabled