虚拟机端口9000无法访问的解决方案

项目场景

在虚拟机上用docker安装了minio,minio的端口号是9000


问题描述

在浏览器上无法访问minio服务
在这里插入图片描述



解决方案

  • 首先想到的是,防火墙将端口号9000给屏蔽了,因此将防火墙关闭:
# 暂时性的(重启后失效)
# 开启
service firewalld start 
# 关闭
service firewalld stop 

# 永久性的
# 关闭
systemctl disable firewalld.service 
# 查看防火墙状态,如果有dead则为关闭
service firewalld status
  • 但是关闭防火墙以后,发现还是不能访问9000端口,并且发现防火墙本来就是关着的,误以为是开着的。所以问题并不在于防火墙。
  • 那么问题到底在哪儿呢?看一下日志再说吧(docker logs 容器id),如下所示:
    在这里插入图片描述
  • 在网上搜了搜,有一篇文章(链接)是这么说的:

大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。

  • 因此,需要在创建容器的时候添加--privileged=true
  • 所以我就把原来的iminio容器给删除了(删除命令 docker rm -f 容器id, 容器创建失败,依然有可能会占用容器name,也需要执行这个命令),重新创建了一次。
  • 但是,端口9000依然不能访问。
  • 我又在另一篇文章中(链接)看到:

动态端口云服务器会改变,需要在docker run 最后加上:--console-address ":9000" --address ":9090"

  • 所以我又删除了原来的容器,再次创建容器,完整的创建容器的命令如下:
docker run -d -p 9000:9000 --name=minio --restart=always --privileged=true -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" -v /home/data:/data -v /home/config:/root/.minio  minio/minio server /data --console-address ":9000" --address ":9090"
  • 这次终于可以正常访问minio服务了:
    在这里插入图片描述

总结

排查这个问题几乎花费了我一下午的时间,到最后快没有什么耐心了,还好没有放弃,终于成功解决。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值