docker安装redis 指定配置文件且设置了密码
---------首先,所有docker的命令,都可以用 docker help 来查询,这个挺好的,我反正记不住辣么多命令呀。
1、直接pull 官方镜像吧。没啥说的,这样方便省事。如果你非要用啥Dockerfile,那么你高兴就好。
2、然后创建一个 redis/data 目录,如果需要指定配置文件,那么请在redis目录下放一个redis.conf配置文件。配置文件去redis安装包中找一个,哈哈哈。
也可以去官网下载:https://redis.io/docs/management/config/
![](https://img2023.cnblogs.com/blog/1153777/202212/1153777-20221218213832528-458672799.png)
Linux文件下使用如下命令下载: wget https://raw.githubusercontent.com/redis/redis/5.0/redis.conf
根据自身需求修改配置
# 注释掉如下这段,不然限制了本机访问
bind 127.0.0.1
# 保护模式,不设置密码需要关掉
protected-mode no
# 守护线程方式启动(docker启动不需要)
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no
#持久化开启
appendonly yes
#密码设置
requirepass 111222
3、然后启动容器,做映射。
3.1、端口映射,data目录映射,配置文件映射。
# docker run -p 6699:6379 --name myredis -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis:3.2 redis-server /etc/redis/redis.conf
命令说明:
--name myredis : 指定容器名称,这个最好加上,不然在看docker进程的时候会很尴尬。
-p 6699:6379 : 端口映射,默认redis启动的是6379,至于外部端口,随便玩吧,不冲突就行。
-v $PWD/redis.conf:/etc/redis/redis.conf : 将主机中当前目录下的redis.conf配置文件映射。
-v $PWD/data:/data -d redis:3.2 : 将主机中当前目录下的data挂载到容器的/data
--redis-server :在容器执行redis-server启动命令
注意事项:
如果不需要指定配置,-v $PWD/redis.conf:/etc/redis/redis.conf 可以不用 ,
redis-server 后面的那段 /etc/redis/redis.conf 也可以不用。
主要我是用来给redis设置了密码,我怕别人偷偷用我的redis。哈哈哈
4、如果顺利的话,你的redis容器已经正常启动啦。那么现在可以docker ps 看看这个进程,然后连上去看看。
4.1、直接连接到redis容器中,直接上命令:
## 进入docker的redis容器
# docker exec -it redis bash
## 使用容器中的redis-cli测试访问(如果端口不是默认6379,命令后增加:-p 6699)
# /usr/local/bin/redis-cli
4.2、直接通过本机的ip端口连接到redis,继续看下面:
注意: 由于我之前已经安装过redis,非docker方式的,所以我有redis-cli的客户端。
先进入了我之前安装的redis目录,然后执行下面的命令:
# ./bin/redis-cli -p 6699 ---因为我用的6699的本机端口映射到的redis容器,所以指定6699去连接。