我有一个在 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
您还应该使用
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