启动容器时,有可能会遇到如下问题,比如启动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
-
# 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
重新启动容器即可。
相关推荐
解决docker报错dial tcp lookup registry-1.docker.io
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.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 load -i jdk8.tar
对于 CentOS 7,这个包名为 `docker-ce-18.06.1.ce-3.el7.x86_64.rpm`。确保将这个文件复制到你的离线系统中。 2. **配置 YUM 仓库**:在离线系统上,创建一个新的 YUM 仓库配置文件。例如,在 `/etc/yum.repos.d/`...
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学习使用,资源来自官方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.” 这个问题通常是由于Docker守护进程未运行或者是由于Linux内核版本过低导致的。...
说明:在最小化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 ...
policycoreutils-2.5-34.el7.x86_64.rpm policycoreutils-python-2.5-34.el7.x86_64.rpm selinux-policy-3.13.1-268.el7_9.2.noarch.rpm selinux-policy-targeted-3.13.1-268.el7_9.2.noarch.rpm ...
情景还原: 用docker拉取jenkins最新版本 docker pull jenkins/jenkins:lts报了这个错误: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker 一通百度,发现...
centos机器 docker安装完成后,输入docker info命令,报如下警告信息解决方法: 1)警告信息如下: WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled 2)解决方法: ...
可以直接用如下配置在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/...
安装方法可以参考这篇文章:https://blog.csdn.net/ziyetian666/article/details/106668638/ centos7.x最小化安装后可以直接安装docker-ce
推荐理由:一个让你在Docker中运行macOS操作系统的项目。通过仅需两条命令,用户可以在Docker容器中轻松启动一个macOS操作系统。这为开发者提供了一种简单而刺激的方式,让他们可以在非苹果硬件上体验macOS,从而...
在本压缩包 "docker-20.10_install.tar.gz" 中,包含了离线安装 Docker 20.10 版本所需的全部依赖包,特别强调的是,该压缩包内还包含了 `iptables`,这是 Docker 在网络管理中不可或缺的一部分。`iptables` 是 ...
当安装Docker时,首先需要下载Docker的安装包并安装。具体步骤如下: 在终端中执行以下命令下载Docker安装包: curl -fsSL https://get.docker.com -o get-docker.sh 运行安装脚本: sh get-docker.sh 启动Docker...
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/...
这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但是安装过程比较稳定 方法一: # curl -L ...