docker使用redis镜像安装默认是没有密码的 而我需要设置密码 所以需要从redis安装包拷贝配置文件出来
cd /root/data
[root@iZwz96h3u4k406z3koxxwaZ data]#wget http://download.redis.io/releases/redis-4.0.1.tar.gz
[root@iZwz96h3u4k406z3koxxwaZ data]# tar -zxvf redis-4.0.1.tar.gz
修改配置文件设置密码 并且设置所有ip可以访问
vi /root/data/redis-4.0.1/redis.conf
找到bind 127.0.0.1注释掉
#bind 127.0.0.1
找到requirepass 去掉注释 并在后面写上密码
requirepass 123456
下载redis镜像
docker pull redis
创建容器 6379为映射出来的镜像 /root/data/redis-4.0.1/redis.conf:/etc/redis/redis.conf为把刚刚配置的设置文件传到容器中 –appendonly yes打开redis持久化配置
docker run -p 6379:6379 --name redis -v /root/data/redis-4.0.1/redis.conf:/etc/redis/redis.conf -v /root/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
可以看到刚刚创建的容器
[root@iZwz96h3u4k406z3koxxwaZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75c13d0e2145 redis "docker-entrypoint.s 16 minutes ago Up 16 minutes 0.0.0.0:6379->6379/tcp
使用客户端登录redis
查看容器ip
[root@iZwz96h3u4k406z3koxxwaZ ~]# docker inspect redis |grep IP
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null
使用客户端连接
[root@iZwz96h3u4k406z3koxxwaZ ~]# docker run -it redis redis-cli -h 172.17.0.4
172.17.0.4:6379>
输入刚刚创建的密码
172.17.0.4:6379> auth 123456
OK
172.17.0.4:6379> set as as
OK
172.17.0.4:6379> get as
“as”