docker安裝redis並以配置文件方式啟動


【第1步】創建docker網絡

默認的網絡是docker0,這個網絡在容器內部只能通過容器的ip訪問,不能通過容器名訪問,所以凡是我們自己安裝的軟件及部署的業務項目,全部用自己創建的網絡。

創建docker網絡,取名mynet,網段為172.19.0.0/16

docker network create --subnet 172.19.0.0/16 --gateway 172.19.0.1 mynet

注意網段不要用172.17.0.0/16,這個網段被默認的網絡docker0使用了。

 

【第2步】下載redis:6.2.6版本的鏡像

查看 Redis 鏡像庫地址:https://hub.docker.com/_/redis?tab=tags

下載redis鏡像.

docker pull redis:6.2.6

如果不加版本號(:6.2.6)表示下載最新版本。

從redis官網下載 redis配置文件: http://download.redis.io/redis-stable/redis.conf

下載完成后, 修改redis.conf配置文件

#bind 127.0.0.1             #注釋掉這部分,使redis可以外部訪問
protected-mode no           #修改為no,去掉保護模式,讓外網可以訪問
daemonize no                #修改為no,不用守護線程的方式啟動
requirepass 123456          #密碼
appendonly yes              #redis持久化,默認是no

或者新建一個redis.conf文件,把上面這些配置寫進去.

 

在宿主機上新建目錄 /mydata/redis/conf ,用於存放redis配置文件及數據.

mkdir -p /mydata/redis/conf

將配置文件 redis.conf 拷貝到 /mydata/redis/conf/    下面.

用配置文件方式啟動redis:

docker run -d -p 6379:6379 --name myredis -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data --net mynet redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes

如果無權限啟動, 可以加 --privileged=true參數:

docker run -d -p 6379:6379 --name myredis -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data --net mynet redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes --privileged=true

參數說明:

-p 6379:6379 #把容器內的6379端口映射到宿主機6379端口
-v /mydata/redis//conf/redis.conf:/etc/redis/redis.conf #將到宿主機的文件/mydata/redis/conf/redis.cong 作為redids容器的配置文件/etc/redis/redis.conf
-v /mydata/redis/data:/data #把redis持久化的數據放在宿主機目錄/mydata/redis/data中,做數據備份
redis-server /etc/redis/redis.conf#這個是關鍵配置,讓redis不是無配置啟動,而是按照這個redis.conf的配置啟動
–appendonly yes #redis啟動后數據持久化

 --privileged=true  #解決容器無權限的問題

 

【第3步】進入 redis 容器測試:

docker exec -it myredis /bin/bash

 登錄redis-cli控制台,輸入密碼驗證,設置key,獲取key:

redis-cli
auth '123456'
set key1 value1
get key1

 

 


免責聲明!

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



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