Использование Redis-CLI в контейнере Redis

Здравствуйте, я пытаюсь отдавать команды контейнеру докеров Redis. Контейнер запущен и работает. Я использовал следующую команду: docker run -d -p 8300:85 -t redis

< img src="https://i.stack.imgur.com/uhqwt.png" alt="введите здесь описание изображения">

Однако, когда я пытаюсь использовать с моего терминала: redis-cli -p 8300 ничего не происходит.
Похоже, что он чего-то ждет.

введите здесь описание изображения

Как я могу связаться с моим контейнером Redis; Что я делаю не так?

P.S После того, как я установил для порта redis значение по умолчанию 6379, я получаю идентификатор в качестве ответа при использовании docker run, но он все равно останавливается прямо здесь (первое изображение):

введите здесь описание изображения

Из другого терминала (второе изображение) видно, что пока первый терминал заблокирован, экземпляр создается, но не запускается.

P.S. 2 Прождав около 10 минут, я наконец получил сообщение об ошибке при запуске контейнера Redis:

$ docker run -d -p 8300:6379 -t redis
244d898dcfb0cd1da4828ee99a16bdd12f62499f99e8dc3ee17af9bacefe5b41
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint upbeat_blackwell on network nat: HNS failed with error : You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name.

person Bercovici Adrian    schedule 20.09.2018    source источник


Ответы (1)


Похоже, вы публикуете неправильный порт с помощью докера. Глядя на ваш первый снимок экрана, вы можете видеть, что порт 6379 (redis по умолчанию) не публикуется на вашем хосте, но порт 85 публикуется на порту 8300.

Измените команду запуска на docker run -d -p 8300:6379 -t redis и посмотрите, поможет ли это.

В качестве альтернативы вы можете выполнить redis-cli из вашего работающего контейнера docker exec -it a425 redis-cli (a425 — это идентификатор вашего контейнера на первом снимке экрана). В этом случае вам не нужно ничего устанавливать на хост-компьютере.

person Mikael Kjær    schedule 20.09.2018
comment
Но я хотел, чтобы он был установлен на порту 85 внутри контейнера. Зачем ему устанавливать его на 6379? - person Bercovici Adrian; 20.09.2018
comment
Хорошо, теперь, после того как я установил порт на 6379, я получаю id в качестве ответа, но после этого он все еще останавливается. С другого терминала я вижу, что экземпляр STATUS является CREATED, но он не работает. Я обновил свой пост. - person Bercovici Adrian; 20.09.2018
comment
Это звучит как еще один вопрос/проблема для меня. Почему вы добавляете -t redis в конце? Вы следовали какому-то руководству? - person Mikael Kjær; 20.09.2018
comment
Я подумал, что это необходимо. Если вы считаете, что это отдельный вопрос, хорошо, я опубликую его в другом месте ... но я все еще не могу запустить redis-cli в конце дня. - person Bercovici Adrian; 20.09.2018
comment
Я не вижу упоминания о -t redis в документации по образу Docker Redis, поэтому попробуйте без этого, но поскольку завелась без него с первого раза, сомневаюсь, что дело в нем. Вы можете попробовать удалить контейнер Redis, перезапустить демон Docker и повторить попытку, если это просто тестовая среда. - person Mikael Kjær; 20.09.2018
comment
Я обновил свой первоначальный пост. После ожидания я наконец получил сообщение об ошибке. - person Bercovici Adrian; 20.09.2018
comment
Я думаю, что это объясняет вашу вторую проблему. - person Mikael Kjær; 20.09.2018
comment
Его можно закрыть. Образ заработал. Думал заблокировали, но заработало. - person Bercovici Adrian; 20.09.2018