Взаимодействие с контейнером redis, запущенным с помощью docker compose - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть файл для создания докера, который связывает мой сервер с образом redis:

version: '3'

services:
    api:
        build: .
        command: npm run dev
        environment: 
            NODE_ENV: development
        volumes:
            - .:/home/node/code
            - /home/node/code/node_modules
            - /home/node/code/build/Release
        ports: 
            - "1389:1389"
        depends_on: 
            - redis

    redis:
        image: redis:alpine

Мне интересно, как я могу открыть redis-cli для контейнера Redis, запущенного docker-compose, чтобы напрямую изменить пары ke / value. Я пробовал с docker attach, но он не открывает никакой оболочки.

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018

Установите Redis CLI на вашем хосте. Отредактируйте файл YAML, чтобы опубликовать порт Redis

services:
    redis:
        image: redis:alpine
        ports: ["6379:6379"]

Затем запустите docker-compose up, чтобы повторно развернуть контейнер, и вы можете запустить redis-cli с хоста без непосредственного взаимодействия с Docker.

0 голосов
/ 24 апреля 2019

Использование /bin/bash в качестве команды (как предложено в принятом решении) не работает для меня с последним образом redis:alpine в Linux.

Вместо этого это сработало:

docker exec -it your_container_name redis-cli
0 голосов
/ 07 сентября 2018

Используйте docker exec -it your_container_name /bin/bash для входа в контейнер redis, затем выполните redis-cli, чтобы изменить key-value пару.

См. https://docs.docker.com/engine/reference/commandline/exec/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...