1.獲取 redis 鏡像
docker pull redis
2.查看本地鏡像
docker images
從官網獲取 redis.conf 配置文件(這是最新版的配置文件)
注意了,如果根據配置文件啟動的話,配置文件的版本一定要和你的redis下載的版本完全一致
- 修改默認配置文件
- bind 127.0.0.1 #注釋掉這部分,這是限制redis只能本地訪問
- protected-mode no #默認yes,開啟保護模式,限制為本地訪問
- daemonize no#默認no,改為yes意為以守護進程方式啟動,可后台運行,除非kill進程(可選),改為yes會使配置文件方式啟動redis失敗
- dir ./ #輸入本地redis數據庫存放文件夾(可選)
- appendonly yes #redis持久化(可選)
3.創建redis掛載目錄
mkdir /usr/local/docker
將指定版本的redis.conf配置文件復制到此目錄,此文檔環境默認為redis最新
4.啟動redis命令
docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解釋說明:
- -p 6379:6379 端口映射:前表示主機部分,:后表示容器部分。
- --name myredis 指定該容器名稱,查看和進行操作都比較方便。
- -v 掛載目錄,規則與端口映射相同。
- -d redis 表示后台啟動redis
- redis-server /etc/redis/redis.conf 以配置文件啟動redis,加載容器內的conf文件,最終找到的是掛載的目錄/usr/local/docker/redis.conf
- appendonly yes 開啟redis 持久化
docker ps 看一下可以看到redis已經運行成功了,如果沒成功用docker logs redis看一下打印日志
基本上就是配置文件的版本與redis的版本不一致導致了,99%都是這個情況
Docker 安裝 Redis不指定配置文件
docker pull redis:latest
docker run -itd --name redis-test1 -p 6378:6378 redis
通過 redis-cli 連接測試使用 redis 服務。
$ docker exec -it redis-test1 /bin/bash