Когда я запускаю redis-cli
, похоже, он автоматически подключается к локальному экземпляру сервера redis, хотя я его явно не создавал.
В данный момент я использую MacOS.
Я сначала устанавливаю redis-cli
через brew
.
Я хочу подключиться к серверу Redis в экземпляре докера. Я планирую запустить его этой командой:
$ docker run --name test -d redis redis-server --appendonly yes
dcd23398f2dd4621398cca6292d46170fc6c896de230918544a79f3360513089
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcd23398f2dd redis "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 6379/tcp test
Однако я узнал, что даже без в docker run
команда выше, когда я делаю redis-cli -h localhost -p 6379
, клиент может каким-то образом подключиться к серверу.
Если я сбегу info
в redis-cli
оболочка я вижу
# Server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9435c3c2879311f3
redis_mode:standalone
os:Linux 4.15.0-74-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.4.0
process_id:948
run_id:36493fe219d42c66103877f4fdd3aaa1f705dd8a
tcp_port:6379
uptime_in_seconds:86131
uptime_in_days:0
hz:10
lru_clock:2690758
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf
Мои вопросы:
Является redis-cli
подключение к локальному экземпляру сервера Redis в MacOS?
Как я могу заставить redis-cli
подключиться к тому, что находится внутри экземпляра докера?
РЕДАКТИРОВАТЬ:
pgrep redis-server
Я не вижу работающей службы Redis. Однако, если я запустил следующий сценарий:import redis r = redis.Redis(host='localhost', port=6379, db=0) r.set('foo', 'bar') v = r.get('foo') print(v)
Он может распечатать значение bar
. Я хочу узнать, как запускается служба Redis.
netstat -n | grep 6379
Я тоже ничего не отдаю.