redis 未从 docker 连接

问题描述 投票:0回答:1

我有一个在 docker 中运行的应用程序,也有 redis 作为服务。 Redis 正在成功构建,我可以看到该服务在同一个容器中运行,但应用程序无法连接它。

Docker 服务正在运行

docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS                           PORTS                                       NAMES
48007b9bc91f   redis:latest   "docker-entrypoint.s…"   3 seconds ago   Up 1 second (health: starting)   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   symfony_redis

使用 snc-redis 包的 symfony 应用程序出现 redis 连接错误

Connection refused [tcp://0.0.0.0:6379]

docker-compose.yaml

version: '3.7'
services:
  redis:
    build:
      context: .docker/redis
      dockerfile: Dockerfile
    image: redis:7.2.4
    container_name: symfony_redis
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    healthcheck:
      test: [ "CMD", "redis-cli", "ping" ]
      interval: 30s
      timeout: 10s
      retries: 5
    networks:
      - app-network

  api:
    build:
      context: ../../
      dockerfile: tazman-backend/symfony/.docker/api/Dockerfile
    container_name: symfony_api
    volumes:
      - ../../components:/var/www/html/components:rw,cached
      - ../:/var/www/html/backend:rw,cached
    ports:
      - "9000:9000"
    environment:
      APP_ENV: dev
    depends_on:
      - redis
docker symfony redis
1个回答
0
投票

您还应该使用

links
。 对于你的情况:

...

 api:
    build:
      context: ../../
      dockerfile: tazman-backend/symfony/.docker/api/Dockerfile
    container_name: symfony_api
    volumes:
      - ../../components:/var/www/html/components:rw,cached
      - ../:/var/www/html/backend:rw,cached
    ports:
      - "9000:9000"
    environment:
      APP_ENV: dev
    depends_on:
      - redis
    links:    # Like this
      - redis 
© www.soinside.com 2019 - 2024. All rights reserved.