解決創建Redis容器沒有conf配置文件


序言

這篇文章沒有什么知識點,只是為了新伙伴少踩點坑

1. 問題重現

創建容器

2. 解讀參數

-d: 后台運行容器,並返回容器ID;

-i: 以交互模式運行容器,通常與 -t 同時使用;

-p: 端口映射,格式為:主機(宿主)端口:容器端口

-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

--ip: 為容器制定一個固定的ip

--net: 指定網絡模式

3. 進入容器查看redis.conf文件

發現是並沒有redis.conf文件的,那么這個時候就是新手踩坑階段了,因為沒有系統的學習docker所以會花費很多時間

 

2. 解決問題

沒有配置文件這件事呢!那是因為redis容器里邊的配置文件是需要在創建容器時映射進來的

那么就需要刪除我們之前創建好的容器,在刪除前需要先停止容器后才可以刪除

停止容器:docker container stop redis-test

刪除容器:docker container rm redis-test

 

1. 開始重新創建redis容器

docker run -itd --name redis-slave -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data --net mynetwork -p 6381:6379 --ip 172.10.0.3 redis

參數解釋:

-v /usr/local/redis/redis.conf:/etc/redis.conf:映射配置文件

-v /root/usr/local/redis/data:/data:映射數據目錄

那么這個時候就有redis配置文件了

3. 搭建容器並掛載外部配置

上邊是在我宿主機有redis的情況下的,那么下來說宿主機沒有redis的情況

這里說的映射其實就是掛載外部配置和數據安裝

1. 創建docker統一的外部配置文件

mkdir -p docker/redis/

2. 在conf目錄創建redis.conf的配置文件

touch /docker/redis/conf/redis.conf

3. redis.conf文件的內容需要自行去下載,網上很多

4. 創建啟動容器,加載配置文件並持久化數據

docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server /etc/redis/redis.conf --appendonly yes

參數說明:

--privileged=true:容器內的root擁有真正root權限,否則容器內root只是外部普通用戶權限

-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件

-v /docker/redis/data:/data:映射數據目錄

redis-server /etc/redis/redis.conf:指定配置文件啟動redis-server進程

--appendonly yes:開啟數據持久化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM