В повседневной работе у нас есть собственная основная машина для разработки.Чтобы создать набор среды для облегчения ежедневной разработки, мы обычно выбираем локальную установку ряда серверного программного обеспечения, такого как mysql, nginx и т. д.
Со временем локально устанавливается много серверного программного обеспечения, и его обновление и управление становятся очень проблематичными. В последнее время мне просто нужно создать среду Redis, поэтому я начал постепенно устанавливать серверное приложение непосредственно в хост-систему через установку образа докера.
В этой статье описан весь процесс создания среды 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 и другие файлы конфигурации одновременно.