解决CentOS中docker容器无法被物理机访问

CentOS安装Docker后运行容器在物理机访问不了的问题

这个问题花了我一个下午一点一点的排查,最终找到解决方案

如果文章成功帮助各位解决了问题,希望可以给博主点点赞转发,谢谢。

第一步

首先确保自己运行的时候有映射端口
以运行Nginx为例子:

docker run --name my-nginx -p 80:80 -v html:/usr/share/nginx/html -d nginx 

## --name:容器名字
## -p:第一个端口为本机端口,第二个端口为docker容器内端口,进行映射
## -v:挂载数据卷
## -d:后台运行

第二步

若已经进行端口映射,请检查防火墙是否关闭

systemctl status firewalld

## 如果运行中可直接使用 systemctl stop firewalld 关闭	(仅供学习情况)

第三步

假如防火墙关闭仍然无法访问
则检查网桥是否出现问题

brctl show

## 如果显示无指令 则使用以下命令下载
yum install -y bridge-utils

在这里插入图片描述
如果该图上显示 8000.00000000000 以及无挂载容器,可能是网桥出现问题

先将docker服务暂停

systemctl stop docker

然后添加网桥

brctl addbr br0

添加ip字段

ip addr add 172.16.0.1/24 dev br0

启用网桥br0

ip link set dev br0 up

修改docker默认网桥

vim /etc/docker/daemon.json

{
	"bridge":"br0"
}

重启docker

systemctl start docker 

重新查看网桥

brctl show

在这里插入图片描述
可以看到新建的网桥成功挂在了容器,也可以成功访问Nginx了
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值