angular - Docker-compose Angular 应用程序 UnixHTTPConnectionPool(host='localhost', port=None):读取超时。(读取超时=200)
问题描述
我正在使用一个 docker-compose 环境,其中包含 2 个 Angular 应用程序,当我运行docker-compose up
.
我尝试了所有修复,例如修改 COMPOSE_HTTP_TIMEOUT、重新启动 docker 服务,但没有任何反应。
我该如何解决这个问题?
这似乎是随机发生的。有时重新启动 docker 服务会解决此问题,但有时不会。
这是我的 docker-compose 文件:
version: '3'
services:
# DB Django
postgres:
container_name: supv2_postgres
image: infra_postgres
volumes:
- postgres_data:/var/lib/postgresql/data
# Real-time metrics retrieving database
influxdb:
container_name: supv2_influxdb
image: infra_influxdb
ports:
- 8086:8086
volumes:
- /srv/docker/influxdb/data:/var/lib/influxdb
environment:
INFLUXDB_DB: metrics_collect
INFLUXDB_ADMIN_USER: user
INFLUXDB_ADMIN_PASSWORD: userpass
restart: always
prometheus:
container_name: supv2_prometheus
image: prom/prometheus
user: root
ports:
- 9090:9090
volumes:
- ~/prometheus:/etc/prometheus/
- ~/prometheus/prometheus_data:/prometheus
report:
image: report
build: ./microservices/report
container_name: report
depends_on:
- influxdb
ports:
- 5000:5000
portal:
container_name: axians_portal
build: ../../axians-portal/web-portal
image: frontend
volumes:
- ../../axians-portal/web-portal:/app
- /app/node_modules
ports:
- 4201:4200
supfrontend:
container_name: supv2_frontend
build: ~/frontend_supv2/ngx-admin
image: supv2_frontend
volumes:
- ~/frontend_supv2/ngx-admin:/app
- /app/node_modules
ports:
- 4301:4300
#UI
grafana:
container_name: supv2_grafana
image: infra_grafana
depends_on:
- influxdb
ports:
- 4000:3000
volumes:
- /srv/docker/grafana/data:/var/lib/grafana
restart: always
#Django orchestrator
orchestrator:
container_name: supv2_orchestrator
image: infra_django
build: ./Django
depends_on:
- postgres
volumes:
- ./microservices:/code/microservices
- ./Django:/code
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 8000:8000
volumes:
#persistent volume
postgres_data:
解决方案
您可以通过在同一个 docker-compose 中的两个不同服务中共享相同的 node_modules 来生成随机行为,您观察到的随机性可能来自它。
...
portal:
container_name: axians_portal
build: ../../axians-portal/web-portal
image: frontend
volumes:
- ../../axians-portal/web-portal:/app
- /app/node_modules # <-- shared node_modules
ports:
- 4201:4200
supfrontend:
container_name: supv2_frontend
build: ~/frontend_supv2/ngx-admin
image: supv2_frontend
volumes:
- ~/frontend_supv2/ngx-admin:/app
- /app/node_modules # <-- shared node_modules
ports:
- 4301:4300
...
尝试为 node_modues 设置两个不同的主机卷,我知道会占用更多的空间,但是在你没有随机行为之后,当两个进程尝试写入/读取/处理相同的文件时
推荐阅读
- python - 如何在 Python 中将浮点数提高到复数幂?
- visual-studio-code - 如何在 Visual Studio Code 中侦听特定文件的事件?
- c++ - 似乎无法让 GetRelativeRotation() 在 Unreal C++ 中工作
- javascript - if, else if, else 语句在本机反应以更改文本
- json - 在 Haskell 中为 ToJSON 添加独立派生
- clojure - 有没有办法在并行执行时获取一组期货并将它们作为一个组阻止?
- java - joda Chronology 和 DateTimeZone 有什么区别?
- ada - 如何证明两个函数的等价性?
- machine-learning - 是否有适合此数据集和所需输出的机器学习模型?
- android - CardView 上的半覆盖效果