通過docker和docker-compose安裝redis兩種方式詳解
Redis 是一個開源的使用 ANSI C 語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value 的 NoSQL 數據庫,并提供多種語言的 API。這里介紹通過docker和docker-compose兩種安裝redis的方式。
一、docker安裝方式
1、查看可用的 Redis 版本
訪問 Redis 鏡像庫地址:https://hub.docker.com/_/redis?tab=tags。
可以通過 Sort by 查看其他版本的 Redis,默認是最新版本 redis:latest。
也可以在下拉列表中找到其他版本:
此外,我們還可以用 docker search redis 命令來查看可用版本:
$ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source ... 2321 [OK] sameersbn/redis 32 [OK] torusware/speedus-redis Always updated official ... 29 [OK] bitnami/redis Bitnami Redis Docker Image 22 [OK] anapsix/redis 11MB Redis server image ... 6 [OK] webhippie/redis Docker images for redis 4 [OK] clue/redis-benchmark A minimal docker image t... 3 [OK] williamyeh/redis Redis image for Docker 3 [OK] unblibraries/redis Leverages phusion/baseim... 2 [OK] greytip/redis redis 3.0.3 1 [OK] servivum/redis Redis Docker Image 1 [OK] ...
2、取最新版的 Redis 鏡像
這里我們拉取官方的最新版本的鏡像:
$ docker pull redis:latest
3、查看本地鏡像
使用以下命令來查看是否已安裝了 redis:
$ docker images
在上圖中可以看到我們已經安裝了最新版本(latest)的 redis 鏡像。
4、運行容器
安裝完成后,我們可以使用以下命令來運行 redis 容器:
$ docker run -itd --name redis-test -p 6379:6379 redis
參數說明:
-p 6379:6379:映射容器服務的 6379 端口到宿主機的 6379 端口。外部可以直接通過宿主機ip:6379 訪問到 Redis 的服務。
5、安裝成功
最后我們可以通過 docker ps 命令查看容器的運行信息:
接著我們通過 redis-cli 連接測試使用 redis 服務。
$ docker exec -it redis-test /bin/bash
二、 使用docker-compose安裝redis的方法
1.目錄結構
docker-compose和redis相關的目錄和文件存儲結構如下:
myProject ----項目名 ├── compose │ └── docker-compose.yml ----compose配置文件 └── redis ├── data ----redis數據存儲目錄 ├── logs ----redis日志文件目錄(redis.conf中l(wèi)ogfile設置相對路徑則不需要) └── redis.conf ----redis配置文件
2.redis.conf配置文件內容
使用官方的redis.conf配置文件沒搞定(可能是redis版本有差異,個別參數不匹配),這里我們直接將主要參數提取出來。
#開啟遠程可連接 #bind 127.0.0.1 #自定義密碼 requirepass 12345678 #指定 Redis 監(jiān)聽端口(默認:6379) port 6379 #客戶端閑置指定時長后關閉連接(單位:秒。0:關閉該功能) timeout 0 # 900s內如果至少一次寫操作則執(zhí)行bgsave進行RDB持久化操作 save 900 1 # 在300s內,如果至少有10個key進行了修改,則進行持久化操作 save 300 10 #在60s內,如果至少有10000個key進行了修改,則進行持久化操作 save 60 10000 #是否壓縮數據存儲(默認:yes。Redis采用LZ 壓縮,如果為了節(jié)省 CPU 時間,可以關閉該選項,但會導致數據庫文件變的巨大) rdbcompression yes #指定本地數據文件名(默認:dump.rdb) dbfilename dump.rdb #指定本地數據文件存放目錄 dir /data #指定日志文件位置(如果是相對路徑,redis會將日志存放到指定的dir目錄下) logfile "redis.log"
3.docker-compose.yml配置文件內容
version: "3.8" services: redis: # 鏡像及版本 image: redis:6.2.6 # 自定義容器名 container_name: my-redis # docker啟動時,自動啟動該容器 restart: always # 掛載映射,可以讓數據或配置持久化 volumes: # <本地配置文件> : <docker中的配置文件> : <ro:docker容器對該文件只讀,默認是rw可讀可寫> - ../redis/redis.conf:/etc/redis/redis.conf:ro # <本地數據目錄> : <docker中的數據目錄> - ../redis/data:/data # <本地日志目錄> : <docker中的日志目錄> # redis不具有自動創(chuàng)建/logs的權限,如果redis.conf中指定的相對位置,則數據目錄已經可以映射出日志文件 #- ../redis/logs:/logs # docker執(zhí)行的啟動命令 command: redis-server /etc/redis/redis.conf ports: # <本地端口> : <docker容器端口> - 6378:6379
4. docker-compose啟動和關閉
# cd compose # docker-compose up // 或以后臺方式啟動 # docker-compose up -d // 關閉docker-compose # docker-compose down
5. 檢查redis啟動情況
直接使用客戶端RDM連接redis;也可以先通過命令檢查一下:
// 查看容器 # docker ps // 查看端口 # netstat -ntlp
6.查看redis容器的CPU和內存使用狀態(tài)
# docker stats my-redis CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 0631151ef5d8 my-redis 0.05% 1.766MiB / 3.7GiB 0.05% 13kB / 55.1kB 0B / 8.19kB 6
總結
到此這篇關于通過docker和docker-compose安裝redis兩種方式的文章就介紹到這了,更多相關docker和docker-compose安裝redis內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!