Ada*_*hti 1 amazon-web-services redis node.js reactjs docker-compose
我正在通过docker compose在Node和Redis上运行React应用:
version: "3"
services:
webapp:
build: ./
ports:
- "127.0.0.1:3000:9090"
depends_on:
- redis
command:
npm run start
nginx:
build: ./nginx
ports:
- "80:80"
environment:
- NGINX_HOST=127.0.0.1
- NGINX_PORT=80
command:
service nginx start
redis:
image: redis
ports:
- "6379:6379"
volumes:
- ./data:/data
Run Code Online (Sandbox Code Playgroud)
Docker文件:
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json ./
RUN npm install
COPY . .
EXPOSE 9090
RUN npm run build_prod
Run Code Online (Sandbox Code Playgroud)
Server.js:
const redisClient = RedisClient.createClient(6379,'redis');
Run Code Online (Sandbox Code Playgroud)
我在运行docker-compose up --build时收到Redis连接拒绝错误:
redis_1 | 1:M 15 Nov 13:55:19.865 * Ready to accept connections
webapp_1 |
webapp_1 | > web.globalmap.fatmap.com@0.0.1 start /usr/src/app
webapp_1 | > node ./build/server.js
webapp_1 |
webapp_1 | events.js:193
webapp_1 | throw er; // Unhandled 'error' event
webapp_1 | ^
webapp_1 |
webapp_1 | Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
webapp_1 | at Object._errnoException (util.js:1031:13)
webapp_1 | at _exceptionWithHostPort (util.js:1052:20)
webapp_1 | at TCPConnectWrap.afterConnect [as oncomplete]
Run Code Online (Sandbox Code Playgroud)
我想知道如何让docker正确链接两个容器。
小智 8
这解决了我的问题,节点无法使用 docker-compose.yml 连接到 redis
const redis_client = redis.createClient({host: 'redis'});
Run Code Online (Sandbox Code Playgroud)
然后在我的 docker-compose.yml 文件中我有以下内容
version: '3'
services:
redis:
image: redis
socket:
container_name: socket
build:
context: .
dockerfile: Dockerfile
depends_on:
- redis
links:
- redis
Run Code Online (Sandbox Code Playgroud)
来源: https: //github.com/docker-library/redis/issues/45
看起来redis无法解析为正确的IP地址。
创建客户端时,尝试redis URI。
// [redis:]//[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=value]]]
const redisClient = RedisClient.createClient('redis://redis:6379');
Run Code Online (Sandbox Code Playgroud)
如果合适,提供用户名,密码和数据库编号。
| 归档时间: |
|
| 查看次数: |
2566 次 |
| 最近记录: |