1.去docker官网找到redis镜像并下载
docker pull redis
2.去官网找一个redis.conf,下载下来放到一个位置我这里放到了 “/usr/local/docker/” 下,这个位置可以自己创建,然后再这个位置下载创建一个 “data” 文件夹用于将主机中data挂载到容器的/data
3.修改一下redis.conf配置文件
# 允许外网访问 bind 0.0.0.0 daemonize NO protected-mode no requirepass 123123
4.启动命令
docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
参数说明
-p:映射端口,宿主机和容器的端口,将容器的6379端口映射到主机的6379端口 --name redis:容器名字可以随便写 -v /usr/local/docker/redis.conf:/etc/redis/redis.conf:将主机中配置文件挂载到容器中 -v /usr/local/docker/data:/data:将主机中data挂载到容器的/data redis-server /etc/redis/redis.conf:容器执行时配置文件的方式启动redis redis-server --appendonly yes:容器执行时开启持久化
5.win10使用telnet测试,通了就可以用redis连接工具连接了
telnet redis上的服务器公网ip 6379
记得开放防火墙端口6379
查看开启端口:firewall -cmd --zone=public --list-ports
开启6379端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent
如果第三步不设置好的话,在启动redis的时候会报错:
docker: Error response from daemon: driver failed programming external connectivity on endpoint myredis (945defab666eb07ee173246cd08c2dbee0706752891ae38db41ba96e8ad74a0e): (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)).



