您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

docker不能连外网解决方法

2024/3/28 8:52:49发布34次查看
docker不能连外网解决方法:
1、如果之前一直正常使用,然后发生宿主机可访问外网,但容器不能的问题,可以尝试重启docker服务解决:
>>>sercice docker restart#debian/ubutun中sh为dash,centos指bash>>>docker run -it -v /yourfile:/file -p 8000:8000 /bin/bash imageid >>>
2、docker容器内提供服务并监听8888端口,要使外部能够访问,需要做端口映射。
docker run -it --rm -p 8888:8888 server:v1
此时出现问题,在虚机a上部署后,在a内能够访问8888端口服务,但是在b却不能访问。
这应该是由于请求被拦截。
查看firewall-cmd --state
如果输出的是“not running”则firewalld没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。
如果输出的是“running”,表示当前firewalld正在运行,需要再输入下面的命令查看现在开放了哪些端口和服务:
firewall-cmd --list-portsfirewall-cmd --list-services
解决方案有两种:
1.关闭firewalld服务:
如果您不需要防火墙,那直接关掉firewalld服务就好了
systemctl stop firewalld.service
2.添加策略对外打开指定的端口:
比如我们现在要打开对外5000/tcp端口,可以使用下面的命令:
firewall-cmd --add-port=5000/tcp --permanentfirewall-cmd --reload
如果只是临时打开端口,去掉第一行命令中的“--permanent”参数,那么当再次重启firewalld服务时,本策略将失效。
ip转发没有打开
sysctl net.ipv4.ip_forward
显示net.ipv4.ip_forward=0则表示未打开。
打开sysctl.conf文件
vi /etc/sysctl.conf
添加如下代码:
net.ipv4.ip_forward=1
更多相关教程,请关注docker教程栏目。
以上就是docker不能连外网解决方法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product