在虚拟机(Linux)中Docker中部署Nginx成功,但是在宿主机无法访问Nginx站点?
1.问题
本文是基于黑马程序员Docker基础--常见命令一课中部署Nginx时遇到的问题作出解答。
在虚拟机(Linux)中Docker中部署Nginx成功,但是在宿主机无法访问Nginx站点
如图,Nginx服务已经启动成功

但是我们在宿主机的浏览器试图访问的时候却总是报错:

2.解决思路
2.1 查看端口号是否映射正确
这里Nginx是主机80端口映射到docker中的80端口,经检查并没有错误
2.2 检查防火墙状态
systemctl status firewalld
参考下图,此时Active一栏,已经是关闭状态,不会影响我们的步骤,跳过

2.3 在Linux中测试直连Nginx
1.先查看Nginx于docker中的ip地址
docker inspect nginx

经查看后得知是172.17.0.1
2.尝试直连
curl 172.17.0.1
发现返回的html代码正是Nginx的欢迎界面,说明这里的Nginx服务是没有问题的

2.4 正在运行的nginx容器需要进入内部启动nginx
经查阅博客:虚拟机CENTOS中DOCKER启动容器NGINX后,网页打不开,无法访问80端口,或被拒
这里正在运行的nginx容器需要进入内部启动nginx后才能使用
1.先通过Docker进入nginx容器内部
docker exec -it nginx bash

2.启动服务
root@409d25d8add2:/# service nginx start

我这里并没有显示具体开启过程,但是博客中提供的过程大概如下:
[root@localhost ~]# docker exec -it nginx(此处是你的容器name) bash #进入容器内部
root@c431554b3059:/# service nginx start #开启nginx
2022/05/09 03:35:02 [notice] 21#21: using the "epoll" event method
2022/05/09 03:35:02 [notice] 21#21: nginx/1.21.6
2022/05/09 03:35:02 [notice] 21#21: built by gcc 10.2.1 20210110 (Debian 10.2.1-6)
2022/05/09 03:35:02 [notice] 21#21: OS: Linux 3.10.0-1160.62.1.el7.x86_64
2022/05/09 03:35:02 [notice] 21#21: getrlimit(RLIMIT_NOFILE): 1048576:1048576
root@c431554b3059:/# 2022/05/09 03:35:02 [notice] 22#22: start worker processes
2022/05/09 03:35:02 [notice] 22#22: start worker process 23
root@c431554b3059:/# exit #退出容器
3.访问成功

在虚拟机(Linux)中Docker中部署Nginx成功,但是在宿主机无法访问Nginx站点?的更多相关文章
- 将自己的SpringBoot应用打包发布到Linux下Docker中
目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...
- CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案
宿主机无法访问虚拟机中的web服务 在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以 ...
- Linux下Tomcat同时部署两个工程然而只有一个能访问问题
Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...
- docker 安装redis , 让宿主机可以访问
1, docker 拉去最新版本的redis docker pull redis #后面可以带上tag号, 默认拉取最新版本 2, docker安装redis container 安装之前去定义我们的 ...
- Linux下docker中安装宝塔面板教程
本人云服务器,装的cent os7.6,在cent os7.6已装了docker,没装的可以借鉴 https://www.cnblogs.com/xiaoyige/p/12673076.html 1. ...
- 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问
前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...
- 在VMware中使用Nat方式设置静态IP, 宿主机可以 ssh
坑很多: 麻痹, 主要还是要先 防火墙关掉,永久关掉. seliux 也永久关掉. 临时关闭防火墙:systemctl stop firewalld 开机不启动: systemctl di ...
- Docker容器内部端口映射到外部宿主机端口
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射. 注意:宿主机的一个端口只能映射到容器内部的某一个端口 ...
- Docker 记一次容器内部修改宿主机挂载目录用户权限后宿主机目录变化
一.需求: 因公司需求,需制作mysql5.7.22 docker基础镜像,每个项目以此镜像启动一个数据库容器,并且每个项目挂载一个宿主机目录到镜像中数据存储下面用于数据持久化保存以便后期迁移至阿里云 ...
- virtualBox NAT模式,设置虚拟机可上网,宿主机可访问虚拟机的方法
环境描述: 宿主机:windows Server 2008 64bit,IPV4地址,有网络. 宿主机上的主要软件环境: virtualBox 5.0.24 virtualBox中安装了CentOS ...
随机推荐
- [CSP-S 2023] 密码锁
题目描述 小 Y 有一把五个拨圈的密码锁.如图所示,每个拨圈上是从 \(0\) 到 \(9\) 的数字.每个拨圈都是从 \(0\) 到 \(9\) 的循环,即 \(9\) 拨动一个位置后可以变成 \( ...
- 数字孪生系统为何需要将GIS系统进行融合?
数字孪生是一种通过数字模型实时仿真现实世界的技术,而GIS(地理信息系统)则是用于收集.存储.处理和展示地理数据的工具.将数字孪生系统与GIS系统进行融合,可以为各行业带来诸多优势和创新.那么数字孪生 ...
- 2022年发布jar到Maven公共仓库最全攻略
2022年jar包发布到Maven公共仓库最全攻略 分几个步骤: 1.注册 issues.sonatype.org 账号 2.创建 issues 填写项目地址(github.gitee等) 3.验证域 ...
- JavaFx之全局异常捕获(二十)
JavaFx之全局异常捕获(二十) javafx开发时,我们有时候需要捕获未处理的异常.手动抛出的异常,在main方法中添加下面代码: public static void main(String[] ...
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 06.敲定AI——游戏框架拓展和细节优化
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 这篇文章对应课程13课, 50~54节.虽然标题是敲定AI,实际内容和AI关联并不大,主要工作是对游戏内各种细节 ...
- 看故事学Redis:再不懂,我怀疑你是假个开发
摘要:还不懂Redis?看完这个故事就明白了! 本文转载自博客园社区<还不懂Redis?看完这个故事就明白了!>,作者:轩辕之风 我是Redis 你好,我是Redis,一个叫Antirez ...
- LiteOS内核源码分析:动态内存之Bestfit分配算法
摘要:本文为大家剖析LiteOS动态内存模块bestfit算法的源代码,包含动态内存的结构体.动态内存池初始化.动态内存申请.释放等. 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要 ...
- 《低代码发展白皮书(2022年)》&《2022低代码·无代码应用案例汇编》,发布了
摘要:信息通信研究院云计算与大数据研究所副所长栗蔚发布了<低代码发展白皮书(2022年)>&<2022低代码·无代码应用案例汇编>. 本文分享自华为云社区<华为参 ...
- 提升源代码安全性的C#和Java深度混淆工具——IpaGuard
提升源代码安全性的C#和Java深度混淆工具--IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码.资源和配置文件,降低破解反编 ...
- Kubernetes(K8S) 集群安全机制
概述 访问K8S集群,需要经过三个步骤完成具体操作 认证 鉴权(授权) 准入控制 进行访问时,过程中需要经过 ApiServer,做统一协调,比如门卫,访问过程中需要证书.token.或者用户名+密码 ...