Docker 啓動redis指定配置文件

一.docker中安裝好redis後如下,我安裝的是reidis5.0.5版本

在這裏插入圖片描述

二.指定redis.conf 啓動

docker run -p 6379:6379 --name iredis -v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis:5.0.5 redis-server /etc/redis/redis.conf --appendonly yes

在這裏插入圖片描述

三 參數說明

注意:在docker中啓動redis一定要把:daemonize 設置爲 no,這個很重要,如果不是no docker會一直啓動失敗,原因是docker本身需要後臺運行,而這個配置選項也是以守護進程啓動,兩者會衝突

1.-p 6379:6379
第一個端口是宿主機端口(服務器端口),第二個端口是容器端口(容器是一個個沙箱外部不不能訪問的),將容器的6379端口映射到宿主機的6379端口上,這樣可以通過訪問宿主機6379來訪問redis;

2.–name iredis
容器的名字 iredis 方便以後操作容器(docker start iredis ;docker stop iredis 等等);

3.-v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf:
掛載持久化配置
/home/docker/redis/config/redis.conf :是宿主機(服務器)你自己的redis.conf文件路徑
/etc/redis/redis.conf : 容器內部的redis.conf文件路徑,不用手動創建,容器啓動時會把上邊宿主機的redis.conf自動映射到改目錄下. 這樣在修改redis.conf文件時候就不用進入到容器內部去修改了

4.-v /home/docker/redis/data:/data
掛載持久化文件
/home/docker/redis/data是宿主機中持久化文件的位置,/data是容器中持久化文件的位置

5.-d 後臺啓動

6.redis:5.0.5 redis-server /etc/redis/redis.conf
redis:5.0.5 是鏡像的名稱+版本如下
在這裏插入圖片描述
redis-server /etc/redis/redis.conf 指定用配置文件的方式啓動redis;
7. –appendonly yes 開啓持久化

四.進入到容器內部驗證下是否生成 redis.conf 和 data持久化文件呢?

# 查看下正在運行的docker容器
[root@instance-f4khj00x /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2ac032107e05        redis:5.0.5         "docker-entrypoint.s…"   11 minutes ago      Up 11 minutes       0.0.0.0:6379->6379/tcp   iredis

# 進入到容器內部
[root@instance-f4khj00x /]# docker container exec -it 2ac032107e05 /bin/bash

# 進入剛配置的容器目錄 /etc/redis/redis.conf
root@2ac032107e05:/data# cd /etc/redis/   
root@2ac032107e05:/etc/redis# ls
redis.conf

# 進入持久化目錄data
root@2ac032107e05:/etc/redis# cd /data/
root@2ac032107e05:/data# ls
appendonly.aof	backup.db  dump.rdb  root
發佈了75 篇原創文章 · 獲贊 46 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章