当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    docker安装redis5.0.3的方法步骤

    栏目:win服务器问题汇总 时间:2019-12-13 15:51

    一、拉取官方5.0.3镜像

    [root@localhost ~]# docker pull redis:5.0.3

    下载完成

    [root@localhost ~]# docker pull redis:5.0.3
    5.0.3: Pulling from library/redis
    f7e2b70d04ae: Pull complete 
    421427137c28: Pull complete 
    4af7ef63ef0f: Pull complete 
    b858087b3517: Pull complete 
    2aaf1944f5eb: Pull complete 
    8270b5c7b90d: Pull complete 
    Digest: sha256:4be7fdb131e76a6c6231e820c60b8b12938cf1ff3d437da4871b9b2440f4e385
    Status: Downloaded newer image for redis:5.0.3

    二、创建挂载目录

    1、创建挂载文件夹

    [root@localhost ~]# mkdir -p /root/redis/data /root/redis/conf
    [root@localhost ~]# cd redis/
    [root@localhost redis]# ls
    conf data

    2、创建redis.conf

    在/root/redis/conf目录中创建文件 redis.conf

    touch redis.conf

    显示目录

    [root@localhost redis]# cd conf/
    [root@localhost conf]# ls
    [root@localhost conf]# touch redis.conf
    [root@localhost conf]# ls
    redis.conf
    [root@localhost conf]# 

    三、创建redis 容器

    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持久化配置

    1、启动redis

    启动中报错如下:

    [root@localhost ~]# 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
    9bc537c19ff0ad76727b5215da8cba4223c5ff97f1d9a53585d573ca71fd8c0c
    docker: Error response from daemon: driver failed programming external connectivity on endpoint redis (fa297144f8d0c958288bb35a94ffbec545d348f2ff9f55a5b573f3d9a0354ace): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.17.0.3:6379 ! -i docker0: iptables: No chain/target/match by that name.
     (exit status 1)).

    说明: docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
    重启docker服务及可重新生成自定义链DOCKER

    解决方案:

    第一步、重启docker;

    第二步、启动容器;

    systemctl restart docker
    docker start foo

    2、容器创建成功,启动redis容器

    docker start redis

    1、启动失败问题:启动容器就会出现iptables: No chain/target/match by that name出错

    粗暴解决方案
    重启docker

    2、正常启动启动显示

    四、客户端连接

    我用的 RedisDesktopManager