docker 部署 redis
docker run --name redis -d -p 6379:6379 --privileged=true \
-v /docker/redis/data:/data redis \
redis-server --appendonly yes --protected-mode no
docker run --rm -it --net=host redis redis-cli
#訪問已運行的redis
docker run --rm -it --net=host redis redis-cli -h <hostname> -p <port> -a <password>
docker run --rm -it --net=host redis redis-cli -c CONFIG GET save
#檢查是否開啟rdb
docker run --rm -it --net=host redis redis-cli -c CONFIG GET appendonly
#檢查是否開啟aof
1.下載 redis 鏡像
docker pull redis
2.查詢下載的鏡像
docker images
3.創建宿主機目錄與容器做映射
在宿主機創建存放redis文件目錄,在/docker/redis 目錄下新增 data、conf 文件夾
mkdir -p /docker/redis/{data,conf}
注意:默認情況下 redis 容器啟動是沒有 redis.conf 文件,需要自行下載做文件掛載。
redis官方下載地址:http://download.redis.io/redis-stable/redis.conf
redis 配置文件介紹
bind 127.0.0.1 # 注釋掉這部分,這是限制redis只能本地訪問
protected-mode no #默認yes,開啟保護模式,限制為本地訪問
daemonize no #默認no,改為yes意為以守護進程方式啟動,可后台運行,除非kill進程,改為yes會使配置文件方式啟動redis失敗
databases 16 # 數據庫個數(可選),我修改了這個只是查看是否生效。。
dir ./ # 輸入本地redis數據庫存放文件夾(可選)
appendonly yes # redis持久化(可選)
requirepass 123456 # redis 連接密碼
4.啟動容器
docker run --name redis -d -p 6379:6379 -v /docker/redis/data:/data redis redis-server --appendonly yes --protected-mode no
docker run --name redis -d -p 6379:6379 --privileged=true -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes --protected-mode no
命令參數說明:
--name my-redis redis 容器起別名為 my-redis
-d 后台運行
-p 6379:6379 容器端口映射 格式:宿主機端口:容器內端口 二者端口不一定保持一致 可自行修改
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf redis 配置文件目錄掛載 格式:宿主機文件地址:容器內文件地址
-v /docker/redis/data:/data redis 持久化數據目錄掛載 格式:宿主機文件地址:容器內文件地址
redis 鏡像名稱
redis-server /etc/redis/redis.conf 以配置文件啟動redis,加載容器內的conf文件,最終找到的是掛載的目錄/docker/redis/conf/redis.conf(宿主機目錄)
--appendonly yes 開啟redis 持久化
--privileged=true 容器內的root擁有真正root權限,否則容器內root只是外部普通用戶權限
5.查詢容器是否啟動成功
docker ps
常用命令
查詢運行中容器 docker ps 查詢所有容器 docker ps -a 停止容器命令 docker stop 容器id||容器名稱 重啟容器命令 docker restart 容器id||容器名稱 刪除容器命令 docker rm 容器id||容器名稱 進入容器命令 docker exec -it 容器id||容器名稱 bash 退出容器命令 exit 查看容器日志命令 docker logs 容器id||容器名稱
轉自:https://www.cnblogs.com/ming-blogs/p/14385688.html