Как подключить локальный redis к docker контейнеру, используя docker compose - PullRequest
1 голос
/ 19 января 2020

У меня возникла проблема с подключением локального redis с контейнером docker, это мой docker файл создания.

version: "3"

services:
  test:
    build: .
    stdin_open: true
    tty: true
    command: nodemon --delay 6 index.js
    volumes:
      - .:/opt/test
    ports:
      - "5007:5007"
    links:
      - redis
  redis:
    image: redis:latest
    container_name: qbo_redis
    restart: always
    ports:
      - "6379:6379"

Но он не работает.

Получение ошибки

bash
TI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"3ed84a23c52d\": executable file not found in $PATH": unknown

Если я удалю записи redis из файла docker -compose.yml, он будет работать без ошибок.

1 Ответ

0 голосов
/ 19 января 2020

docker ps -q возвращает список контейнеров и не может использоваться для доступа к оболочке. Используйте docker ps -ql для работы с последним созданным контейнером.

redis изображения не содержат Bash. Они основаны на Alpine Linux, но вы можете использовать /bin/sh. Попробуйте так:

 docker exec -it qbo_redis /bin/sh

или

 docker exec -it $(docker ps -ql) /bin/sh
...