Docker容器遇到socket问题(单独的Flask + Nginx容器)

Docker容器遇到socket问题(单独的Flask + Nginx容器),第1张

概述Docker容器遇到socket问题(单独的Flask + Nginx容器)

在运行docker-compose build && docker-compose并尝试打开我的索引页后,我遇到了以下多错误:

[crit] 8#8: *1 connect() to unix:/tmp/uwsgi.sock Failed (2: No such file or directory) while connecting to upstream,clIEnt: 192.168.99.1,server: localhost,request: "GET / http/1.1",upstream: "uwsgi://unix:/tmp/uwsgi.sock:",host: "192.168.99.100"

这是我的docker-compose.yml:

web: restart: always build: ./web-app expose: - "8000" command: /usr/local/bin/uwsgi --ini sample-uwsgi.ini Nginx: restart: always build: ./Nginx/ ports: - "80:80" links: - web:web

Nginx的/ Dockerfile

FROM Nginx RUN rm /etc/Nginx/conf.d/default.conf ADD sample-Nginx.conf /etc/Nginx/conf.d/

Nginx的/采样Nginx.conf

Docker根文件夹在windows位置

如何在需要tty的Docker构build期间运行命令?

在Docker容器中运行的JVM的驻留集大小(RSS)和Java总承诺内存(NMT)之间的差异

Nginx反向代理与链接的Docker容器失败

使用Docker for windows Installer v1.6.0安装的Boot2Docker在start.sh中的“第36行:cd:HOME not set”

server { Listen 80; server_name localhost; charset utf-8; clIEnt_max_body_size 75M; location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }

web应用程序/ Dockerfile

FROM ansible/ubuntu14.04-ansible:stable workdir /root ADD application.py application.py ADD requirements.txt requirements.txt ADD sample-uwsgi.ini sample-uwsgi.ini ADD ansible /srv/ansible workdir /srv/ansible RUN ansible-playbook container-bootstrap.yml -c local

web应用程序/采样uswgi.ini

[uwsgi] module = application callable = app master = true processes = 5 socket = /tmp/uwsgi.sock chown-socket = www-data:www-data vacuum = true enable-threads=True dIE-on-term = true

UPDATE

从@kryten的build议我将使用TCP / IP

更新了Nginx.conf:

server { Listen 80; server_name localhost; charset utf-8; clIEnt_max_body_size 75M; location / { uwsgi_pass localhost:8000; include uwsgi_params; } }

更新了uwsgi.ini:

[uwsgi] module = application callable = app master = true processes = 5 socket = localhost:8000 chown-socket = www-data:www-data vacuum = true enable-threads=True dIE-on-term = true

现在正在追求以下错误:

[error] 8#8: *1 connect() Failed (111: Connection refused) while connecting to upstream,upstream: "uwsgi://127.0.0.1:8000",host: "192.168.99.100"

docker中的多个nodeJs工作者

在Docker容器中安装cgroups

如何在windows Server 2016上运行linux Docker镜像?

如何在docker上设置Nginx中的大量dynamic虚拟主机?

无法将windows主机目录挂载到Docker容器

它看起来像你的应用程序之一是试图通过Unix套接字,而不是通过TCP / IP连接。

这将不会在不同的容器中工作,因为一个容器中的文件系统(套接字所在的位置)不能在其他容器中访问。

解决方案是重新配置您的应用程序连接通过TCP / IP而不是一个Unix套接字。

通过将套接字所在的文件系统中的位置暴露给另一个容器来连接也许是可能的,但我从来没有试过这个&不知道它是否会工作。

由于web和Nginx是独立的容器,因此Nginx需要通过TCP连接到另一台计算机 。 链接容器已经完成了大部分工作,你只需要将上游指向web:8000而不是localhost。

总结

以上是内存溢出为你收集整理的Docker容器遇到socket问题(单独的Flask + Nginx容器)全部内容,希望文章能够帮你解决Docker容器遇到socket问题(单独的Flask + Nginx容器)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1293895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存