`
hanqunfeng
  • 浏览: 1541827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

docker学习笔记之七:解决 -i docker0: iptables: No chain/target/match by that name.

阅读更多

启动容器时,有可能会遇到如下问题,比如启动redis容器:

sudo docker run -d -p 6379:6379 --name redis redis:latest

docker: Error response from daemon: failed to create endpoint redis on network bridge: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 10.211.55.9 --dport 6379 -j DNAT --to-destination 172.17.0.4:6379 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1).

 

通过分析异常信息,发现是因为在进行原地址到目标地址转换的时候没有在docker主机的iptables规则中找到nat表规则,只有filter表规则。

 

在filter表上面增加nat表配置规则信息,需要说明的是docker容器的网段是172.17.0.0/16,另外需要注意filter表中也要有docker链的相关配置。

sudo vi /etc/sysconfig/iptables

  1. # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *nat
    :PREROUTING ACCEPT [27:11935]
    :INPUT ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :DOCKER -[0:0]
    -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
    -A OUTPUT !-d 127.0.0.0/8-m addrtype --dst-type LOCAL -j DOCKER
    -A POSTROUTING -s 172.17.0.0/16!-o docker0 -j MASQUERADE
    COMMIT
    #
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :DOCKER -[0:0]
    -A FORWARD -o docker0 -j DOCKER
    -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i docker0 !-o docker0 -j ACCEPT
    -A FORWARD -i docker0 -o docker0 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9090-j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521-j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379-j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
     

重启iptables

sudo systemctl restart iptables.service 

 

重新启动容器即可。

 

 

0
1
分享到:
评论

相关推荐

    解决docker报错dial tcp lookup registry-1.docker.io

    解决docker报错dial tcp lookup registry-1.docker.io

    Docker 20.10.14通过rpm包离线安装

    docker-ce-20.10.14-3.el7.x86_64.rpm docker-ce-cli-20.10.14-3.el7.x86_64.rpm docker-ce-rootless-extras-20.10.14-3.el7.x86_64.rpm docker-scan-plugin-0.17.0-3.el7.x86_64.rpm fuse3-libs-3.6.1-4.el7.x86_64...

    centos7.6离线安装docker-ce-19.03、nvidia-docker2

    离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...

    docker-ce-rootless-extras-20.10.14-3.el8.x86_64.rpm

    docker-ce-rootless-extras-20.10.14-3.el8.x86_64.rpm

    docker镜像node:18.15-alpine

    node:18.15-alpine镜像的tar文件 使用步骤(确保本地环境已经安装docker) 1、将tar包下载到本地 2、打开终端 3、进入到上述tar包的下载路径 4、运行docker load node-18.15-alpine.tar

    docker 常用镜像下载: jdk8-alpine3.9

    加载镜像:docker load -i jdk8.tar

    docker-ce-18.06.1.ce-3.el7.x86-64 yum 离线安装

    对于 CentOS 7,这个包名为 `docker-ce-18.06.1.ce-3.el7.x86_64.rpm`。确保将这个文件复制到你的离线系统中。 2. **配置 YUM 仓库**:在离线系统上,创建一个新的 YUM 仓库配置文件。例如,在 `/etc/yum.repos.d/`...

    docker-engine-1.12.6-1.el7.centos.x86_64

    centos 7 离线安装docker-engine-1.12.6 yum localinstall *.rpm Installing : docker-engine-1.12.6-1.el7.centos.x86_64 8/8 Verifying : libsemanage-python-2.5-11.el7.x86_64 1/8 Verifying : setools...

    docker社区版linux离线包docker-20.10.9.tgz

    docker社区版linux离线包docker-20.10.9.tgz供docker学习使用,资源来自官方https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz

    ubuntu vps安装docker报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.问题解决

    在Ubuntu VPS上安装Docker时,可能会遇到一个常见的错误:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock.” 这个问题通常是由于Docker守护进程未运行或者是由于Linux内核版本过低导致的。...

    docker-ce-26.1.0使用yum安装包

    说明:在最小化CentOS Linux release 7.6.1810 中制作yum源,docker-ce是centos 7系统x86架构rpm包。 使用: 1、上传文件到/data/docker-ce解压,或者任意目录后修改docker-ce-26.1.0.repo 中baseurl路径。 2、mv ...

    Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker

    情景还原: 用docker拉取jenkins最新版本 docker pull jenkins/jenkins:lts报了这个错误: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker 一通百度,发现...

    解决docker安装完成报:bridge-nf-call-iptables is disabled问题

    centos机器 docker安装完成后,输入docker info命令,报如下警告信息解决方法: 1)警告信息如下: WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled 2)解决方法: ...

    Docker配置阿里云镜像加速pull的实现

    今天使用docker拉取镜像,那速度简直不能看,而且等着等着到最后还出现了 read tcp 192.168.31.60:55550->104.18.123.25:443: read: connection reset by peer 传输异常 然后看见网上说可以配置阿里云提供的镜像...

    nacos-server v2.4.0 镜像

    可以直接用如下配置在docker-compose里启动: nacos: image: infras/nacos-server:v2.4.0 container_name: nacos networks: - infras_net volumes: - ./storage/logs/nacos:/data/nacos/logs - ./conf/nacos/...

    docker-20.10_install.tar.gz

    在本压缩包 "docker-20.10_install.tar.gz" 中,包含了离线安装 Docker 20.10 版本所需的全部依赖包,特别强调的是,该压缩包内还包含了 `iptables`,这是 Docker 在网络管理中不可或缺的一部分。`iptables` 是 ...

    docker-ce-20.10.14-3.el7.x86_64的centos7.x离线安装包

    安装方法可以参考这篇文章:https://blog.csdn.net/ziyetian666/article/details/106668638/ centos7.x最小化安装后可以直接安装docker-ce

    Docker中运行macOS:Docker-OSX

    推荐理由:一个让你在Docker中运行macOS操作系统的项目。通过仅需两条命令,用户可以在Docker容器中轻松启动一个macOS操作系统。这为开发者提供了一种简单而刺激的方式,让他们可以在非苹果硬件上体验macOS,从而...

    安装Docker.docx

    当安装Docker时,首先需要下载Docker的安装包并安装。具体步骤如下: 在终端中执行以下命令下载Docker安装包: curl -fsSL https://get.docker.com -o get-docker.sh 运行安装脚本: sh get-docker.sh 启动Docker...

    MicroK8s v1.26.4 离线镜像

    docker.io/calico/cni:v3.23.5 docker.io/calico/cni docker.io/calico/kube-controllers:v3.23.5 docker.io/calico/kube-controllers docker.io/calico/node:v3.23.5 docker.io/calico/node docker.io/cdkbot/...

Global site tag (gtag.js) - Google Analytics