Centos docker 容器无法被外网访问

2022-04-15  本文已影响0人  这是一个无趣人

问题

在一台centos7的服务器上 安装了nginx容器, -p 8080:80 由8080端口代理到内部80端口,外部无法访问,提示超时。

处理方法

  curl http:127.0.0.1:8080   // 如果无法访问 可以认为是container没有启动成功
firewall-cmd --list-ports
# 未开启 使用下面命令开启端口
firewall-cmd --zone=public --add-port=8080/tcp
systemctl stop firewalld
sysctl net.ipv4.ip_forward   // 0 是未打开 1 是打卡

# 打开步骤
vi /etc/sysctl.conf
# 或者
vi /usr/lib/sysctl.d/00-system.conf
# 添加如下代码:
net.ipv4.ip_forward=1
# 重启network服务
systemctl restart network
# 查看是否修改成功
sysctl net.ipv4.ip_forward
  1. 关闭docker的iptables配置 (采用方法)
vim /etc/default/docker
# 写入  -iptables=false
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -iptables=false"
# 修改文件/etc/docker/daemon.json
vim /etc/docker/daemon.json
 # 写入
{
  "iptables": false
}
# 重启docker
systemctl restart docker
  1. 或者直接尝试 关闭iptables
service iptables stop 
上一篇下一篇

猜你喜欢

热点阅读