Redis docker容器未在Redis数据库中存储数据



我的nodejs applicationredis database有两个容器。我使用docker compose file用这个命令docker-compose up -d --build创建了两个容器,容器启动,我的redis连接建立,我可以在日志上看到它已经连接并准备好使用。登录时,我编写了一个逻辑,将用户refresh tokenuser id存储在redis database中。这已经在当地进行了测试,效果非常好。没有问题。但是,当我通过docker容器创建和运行应用程序时,用户登录时redis database中不会存储任何内容。我甚至不知道从哪里开始揭穿,因为它根本没有给我任何想法。若我在docker容器外部本地运行相同的代码,它运行得很好。这是我的docker文件:

FROM  node:lts-alpine
WORKDIR /app
COPY package*.json ./
COPY client/package*.json client/
RUN npm run install-client --only=production

COPY api/package*.json api/
RUN npm run install-api --only=production

COPY client/ client/
RUN npm run client-build --prefix client

COPY api/ api/

USER node
CMD [ "npm", "start", "--prefix", "api" ]

EXPOSE 5000

我的合成文件:

version: "3"
services:
redisdb:
container_name: redisdb
hostname: redis
image: redis
ports:
- "6379:6379"

fullstack-cms:
build: .
ports:
- "5000:5000"
env_file:
- ./api/.env
depends_on:
- redisdb

它没有显示任何错误。当我使用console.log并检查代码中redis变量的值时,它显示undefined。在当地,一切都很好,只是不能通过码头集装箱工作,请帮助我。

redis映像默认禁用持久性。此处提供完整的文档:https://hub.docker.com/_/redis/

version: "3"
services:
redisdb:
container_name: redisdb
hostname: redis
image: redis
command: redis-server
volumes:
- /host/path/to/your/redis/data:/data
ports:
- "6379:6379"

fullstack-cms:
build: .
ports:
- "5000:5000"
env_file:
- ./api/.env
depends_on:
- redisdb

最新更新