systemctl start docker
docker pull redis:5.0.3
注意,如果不註明版本號,則拉取最新版本
mkdir -p /root/redis/data /root/redis/conf
touch /root/redis/data /root/redis/conf/redis.conf
下載連結:https: //www.lanzous.com/i68hlah
此設定檔可自行上網下載,http://download.redis.io/releases/,主要修改以下幾個設定。
修改之前:
bind 127.0.0.1 protected-mode yes #requirepass yourpassword
修改之後:
#bind 127.0.0.1 protected-mode no requirepass yourpassword
其中yourpassword 為你的密碼。
docker run -d --name redis -p 6379:6379 -v /root/redis/conf/redis.conf:/redis.conf -v /root/redis/data:/data redis:5.0.3 redis-server --appendonly yes
-d 後台運行
-p 連接埠對應到主機的連接埠
-v 將主機目錄掛載到容器的目錄
redis-server --appendonly yes : 在容器執行redis-server啟動指令,並開啟redis持久化設定
docker start redis
執行如上指令如果報如下錯誤時:
Error response from daemon: driver failed programming external connectivity on endpoint redis (086c7fdf5eb7a696753d7414e93202eefd474370658e8c090bca5608c6e29a11): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.17.0.2:6379 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)) Error: failed to start containers: redis
解決方法:重啟docker,然後重新啟動redis容器
systemctl restart docker docker start redis
firewall-cmd --zone=public --add-port=6379/tcp --permanent firewall-cmd --reload
連線失敗的話,先檢查是否能在服務端登陸redis
docker exec -it redis redis-cli
進入redis後輸入如下指令:
auth "你的密码"
如果提示:
(error) ERR Client sent AUTH, but no password is set
說明我們設定的密碼並沒有生效,那麼需要再執行一下如下指令:
config set requirepass “你的密码”
以上是Docker安裝Redis實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!