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

本文详细介绍了在CentOS上安装Docker后遇到容器无法从物理机访问的问题及解决步骤。首先确保运行时使用了正确的端口映射,然后检查并关闭防火墙,如果问题依然存在,检查网桥设置。通过创建新的网桥并修改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了
在这里插入图片描述

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值