zoukankan      html  css  js  c++  java
  • docker启动redis端口映射错误问题解决

    今天使用docker安装redis,使用的时候出现了一些问题。第一次安装好后,在虚拟机后台启动了redis,然后在连接虚拟机的redis的时候怎么也连不上。出现这种情况我第一反应是防火墙没有开启所以我执行查看了一下防火墙的状态。

    systemctl status firewalld 

    然后发现没有开启防火墙,于是我又开启了防火墙。

    systemctl start firewalld

    然而连接还是有问题,一直连接不上。然后我查看了一下doker的进程状态,发现redis是运行着的,但是端口映射没有做映射(使用doker启动的应用一定要做端口映射,否则外部无法访问该应用端口)。

    docker  ps

    于是我又重新删除该容器,重新启动了一个容器,并做了端口映射。

    docker run -p 6379:6379 --name myredis  -d registry.docker-cn.com/library/redis

    但是问题来了,容器是创建了,然而缺一直启动不起来,启动容器会报下列问题。

    docker: Error response from daemon: driver failed programming external connectivity on endpoint myredis (e189179ed97e6d940fe64c0c7c822beb430e5489c51c28d872aeabe95f1c60d0): (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)).

    目前的解决方式是关闭docker,然后重新启动,再用docker启动redis重新 映射端口,redis容器终于正确启动并且能够被外部所访问了。

    systemctl stop docker
    systemctl start docker
    docker run -p 6379:6379 --name myredis -d registry.docker-cn.com/library/redis
  • 相关阅读:
    Eclipse解决运行、启动缓慢问题思路
    Flask---日常笔记1
    Flask与Django对比
    Flask框架-基本使用
    常用软件下载地址
    乌合之众大众心理学
    C#使用IKVM来实现与java互通的RSA签名
    C#使用BouncyCastle来实现私钥加密公钥解密的方法与java互通的RSA加解密和签名(转)
    SignalR新手系列教程详解总结(转)
    项目管理的三大难题及应对策略(转)
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/10221097.html
Copyright © 2011-2022 走看看