如何使用 Nodejs 连接应用程序 运行 和使用 docker-compose 的服务依赖项 运行
How do I connect the app running using Nodejs with the service dependencies running using docker-compose
我正在尝试 运行 这个存储库 (https://github.com/energywebfoundation/ssi-hub)。我 运行 将应用程序与服务依赖项分开 运行 在 docker-compose 中。但是,我的应用无法连接到 docker-compose 文件中的 redis 服务 运行ning。我收到以下错误
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND redis
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26)
Emitted 'error' event on RedisClient instance at:
at RedisClient.on_error (/home/danish/Desktop/ssi-hub/node_modules/redis/index.js:342:14)
at Socket.<anonymous> (/home/danish/Desktop/ssi-hub/node_modules/redis/index.js:223:14)
at Socket.emit (node:events:520:28)
at Socket.emit (node:domain:475:12)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'redis'
}
我在 docker composer
中将此配置文件用于 运行 redis 服务
services:
postgres:
image: postgres:12-alpine
environment:
POSTGRES_PASSWORD: password
POSTGRES_USERNAME: postgres
POSTGRES_DB: dev-test
networks:
- main
ports:
- 5432:5432
nats:
container_name: nats
image: synadia/nats-server:nightly
volumes:
- ./config/:/etc/nats
command: '-c /etc/nats/nats.conf'
networks:
- main
ports:
- '4222:4222'
- '8222:8222'
- '9222:9222'
redis:
container_name: redis
image: redis:${REDIS_VERSION}
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- $PWD/redis-data:/var/lib/redis
ports:
- '6379:6379'
environment:
- REDIS_REPLICATION_MODE=master
networks:
- main
networks:
main:
我尽力在网上找到答案,但我无法解决这个问题。预先感谢您的帮助。
能否尝试克隆此存储库:
https://github.com/wildone/nats-test
然后运行docker compose up
.
看不到任何错误,出现 UI。
谢谢您的回答。我在这个存储库 (https://github.com/energywebfoundation/ssi-hub) 的 .env 文件中的配置有一些问题。我将主机名更改为 localhost,并且能够将 docker 服务与节点应用程序连接起来。谢谢
我正在尝试 运行 这个存储库 (https://github.com/energywebfoundation/ssi-hub)。我 运行 将应用程序与服务依赖项分开 运行 在 docker-compose 中。但是,我的应用无法连接到 docker-compose 文件中的 redis 服务 运行ning。我收到以下错误
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND redis
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26)
Emitted 'error' event on RedisClient instance at:
at RedisClient.on_error (/home/danish/Desktop/ssi-hub/node_modules/redis/index.js:342:14)
at Socket.<anonymous> (/home/danish/Desktop/ssi-hub/node_modules/redis/index.js:223:14)
at Socket.emit (node:events:520:28)
at Socket.emit (node:domain:475:12)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'redis'
}
我在 docker composer
中将此配置文件用于 运行 redis 服务
services:
postgres:
image: postgres:12-alpine
environment:
POSTGRES_PASSWORD: password
POSTGRES_USERNAME: postgres
POSTGRES_DB: dev-test
networks:
- main
ports:
- 5432:5432
nats:
container_name: nats
image: synadia/nats-server:nightly
volumes:
- ./config/:/etc/nats
command: '-c /etc/nats/nats.conf'
networks:
- main
ports:
- '4222:4222'
- '8222:8222'
- '9222:9222'
redis:
container_name: redis
image: redis:${REDIS_VERSION}
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- $PWD/redis-data:/var/lib/redis
ports:
- '6379:6379'
environment:
- REDIS_REPLICATION_MODE=master
networks:
- main
networks:
main:
我尽力在网上找到答案,但我无法解决这个问题。预先感谢您的帮助。
能否尝试克隆此存储库:
https://github.com/wildone/nats-test
然后运行docker compose up
.
看不到任何错误,出现 UI。
谢谢您的回答。我在这个存储库 (https://github.com/energywebfoundation/ssi-hub) 的 .env 文件中的配置有一些问题。我将主机名更改为 localhost,并且能够将 docker 服务与节点应用程序连接起来。谢谢