Используйте Docker для локального создания среды Redis.

Redis

В повседневной работе у нас есть собственная основная машина для разработки.Чтобы создать набор среды для облегчения ежедневной разработки, мы обычно выбираем локальную установку ряда серверного программного обеспечения, такого как mysql, nginx и т. д.

Со временем локально устанавливается много серверного программного обеспечения, и его обновление и управление становятся очень проблематичными. В последнее время мне просто нужно создать среду Redis, поэтому я начал постепенно устанавливать серверное приложение непосредственно в хост-систему через установку образа докера.

В этой статье описан весь процесс создания среды Redis с помощью Docker.

redis

docker

установить кли

➜:~ kongfutech$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
➜:~ kongfutech$ tar xzf redis-5.0.5.tar.gz
➜:~ kongfutech$ cd redis-5.0.5
➜:~ kongfutech$ make

Сервер redis-server появится в каталоге redis-5.0.5, а клиентский redis-cli можно использовать для взаимодействия с сервером redis в контейнере докеров.

установить образ

1. Запрос изображения:

➜:~ kongfutech$ docker search redis

NAME                             DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
redis                            Redis is an open source key-value store that…   7004                [OK]
bitnami/redis                    Bitnami Redis Docker Image                      114                                     [OK]
sameersbn/redis                                                                  75                                      [OK]
grokzen/redis-cluster            Redis cluster 3.0, 3.2, 4.0 & 5.0               49
kubeguide/redis-master           redis-master with "Hello World!"                29
rediscommander/redis-commander   Alpine image for redis-commander - Redis man…   25                                      [OK]                     

2. Вытащите образ:

➜:~ kongfutech$ docker pull redis

Using default tag: latest
latest: Pulling from library/redis
be8881be8156: Pull complete 
d6f5ea773ca3: Pull complete 
735cc65c0db4: Pull complete 
787dddf99946: Pull complete 
0733799a7c0a: Pull complete 
6d250f04811a: Pull complete 
Digest: sha256:858b1677143e9f8455821881115e276f6177221de1c663d0abef9b2fda02d065
Status: Downloaded newer image for redis:latest
➜:~ kongfutech$ /Users/kongfutech/Library/Containers/com.docker.docker/Data/
-bash: /Users/kongfutech/Library/Containers/com.docker.docker/Data/: is a directory
➜:~ kongfutech$ ls /Users/kongfutech/Library/Containers/com.docker.docker/Data/
backend.sock        tasks            vpnkit.pcap.sock
docker.sock        vms            vpnkit.port.sock
osxfs.sock        vpnkit.diag.sock
task.lock        vpnkit.eth.sock

3. Проверьте, успешно ли это:

➜:~ kongfutech$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               latest              4e8db158f18d        8 days ago          83.4MB
➜:~ kongfutech$ docker images redis
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               latest              4e8db158f18d        8 days ago          83.4MB

4. Запускаем образ:

➜:~ kongfutech$ docker run -p 6379:6379 -v $PWD/data:/data  -d redis:latest redis-server --appendonly yes
f2f6d7ba523b32dba90e08a077a47839c63b0d4da6e050637c1a6d02b51ae510

命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的 /data 目录
redis-server --appendonly yes : 在容器执行 redis-server 启动命令,并打开 redis 持久化配置

5. Проверьте, прошел ли запуск успешно

➜:~ kongfutech$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f2f6d7ba523b        redis:latest        "docker-entrypoint.s…"   10 minutes ago      Up 10 minutes       0.0.0.0:6379->6379/tcp   sharp_kepler

Проверить сервис Redis

Убедитесь, что redis развернут в докере через соединение redis-cli

➜:~ kongfutech$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
127.0.0.1:6379> set spring springframework
OK
127.0.0.1:6379> get spring
"springframework"
127.0.0.1:6379> keys *
1) "spring"
2) "spring2"
127.0.0.1:6379> keys spring*
1) "spring"
2) "spring2"

Суммировать

1. Linux или Mac могут напрямую скомпилировать и установить сервер Redis и клиент Redis-Cli через исходный код, Windows может напрямую загрузить исполняемый установочный пакет.GitHub.com/Microsoft AR…

2. Сервер Redis можно развернуть прямо в контейнере через официальный образ докера. Приложения и клиенты redis-cli могут взаимодействовать с сервером Redis. Локальной средой разработки можно хорошо управлять, используя файл dockerfile и другие файлы конфигурации одновременно.

Ссылаться на