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
  • 相关阅读:
    ionic 刷新页面的几种方法
    Highcharts中如何外部修改pointStart
    前端分页 思路
    快捷选时间
    获取今天,昨天,本周,上周,本月,上月时间
    angularjs 弹出框 $modal
    SQL 查找存在某内容的存储过程都有哪些
    LINQ to SQL和Entity Framework
    SQL模糊查询条件的四种匹配模式
    数据库--中文表名及字段名的优缺点
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/10221097.html
Copyright © 2011-2022 走看看