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站点?的更多相关文章

  1. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  2. CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案

    宿主机无法访问虚拟机中的web服务 在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以 ...

  3. Linux下Tomcat同时部署两个工程然而只有一个能访问问题

    Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...

  4. docker 安装redis , 让宿主机可以访问

    1, docker 拉去最新版本的redis docker pull redis #后面可以带上tag号, 默认拉取最新版本 2, docker安装redis container 安装之前去定义我们的 ...

  5. Linux下docker中安装宝塔面板教程

    本人云服务器,装的cent os7.6,在cent os7.6已装了docker,没装的可以借鉴 https://www.cnblogs.com/xiaoyige/p/12673076.html 1. ...

  6. 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问

    前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...

  7. 在VMware中使用Nat方式设置静态IP, 宿主机可以 ssh

    坑很多:  麻痹,  主要还是要先 防火墙关掉,永久关掉.  seliux 也永久关掉. 临时关闭防火墙:systemctl stop firewalld    开机不启动: systemctl di ...

  8. Docker容器内部端口映射到外部宿主机端口

    Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射. 注意:宿主机的一个端口只能映射到容器内部的某一个端口 ...

  9. Docker 记一次容器内部修改宿主机挂载目录用户权限后宿主机目录变化

    一.需求: 因公司需求,需制作mysql5.7.22 docker基础镜像,每个项目以此镜像启动一个数据库容器,并且每个项目挂载一个宿主机目录到镜像中数据存储下面用于数据持久化保存以便后期迁移至阿里云 ...

  10. virtualBox NAT模式,设置虚拟机可上网,宿主机可访问虚拟机的方法

    环境描述: 宿主机:windows Server 2008 64bit,IPV4地址,有网络. 宿主机上的主要软件环境: virtualBox 5.0.24 virtualBox中安装了CentOS ...

随机推荐

  1. django+drf开发一些个人的标准化

    最近在改造一下个人的开发风格.特分享一下. 子应用我一般放在apps中,每个不同模块的子应用起不同的名字.startapp后自己移动一下,记得修改一下Appconfig中的name即可. 子应用中创建 ...

  2. 华企盾DSC 恢复密钥需要提供信息

    1.win.ini 2.5097目录复制一份 3.c:\windows\system32\autheninfoset.cfg (64位系统:c:\windows\syswow64\autheninfo ...

  3. ElasticSearch之Index modules

    索引的参数,分为两类: 静态参数,仅支持在创建索引时指定,或者关闭索引后指定. 动态参数,允许在索引工作期间指定或者修改. 静态参数 index.number_of_shards 默认值为1. 本参数 ...

  4. CUDA C编程权威指南:1.2-CUDA基础知识点梳理

      主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.闭扫描和开扫描   对于一个二元 ...

  5. 一文掌握数仓中auto analyze的使用

    摘要:analyze执行的是否及时,在一定程度上直接决定了SQL执行的快慢. 本文分享自华为云社区<一文读懂autoanalyze使用[这次高斯不是数学家]>,作者: leapdb. an ...

  6. JerryScript:物联网开发者的得力工具

    摘要:本文档以Linux开发环境及realview-pbx-a9开发板为例,简单介绍LiteOS上jerryscript命令的使用. 本文分享自华为云社区<Jerryscript-让开发者事半功 ...

  7. 如何通过appuploader把ipa文件上传到App Store教程步骤​

    iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!​ 下面进行步骤介绍!​ 利用Appuploader这个软件,可以在Windows.Linux或Mac系统中 ...

  8. 火山引擎DataLeap的Data Catalog系统搜索实践 (上)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 摘要 火山引擎大数据研发治理套件 DataLeap的Data Catalog系统通过汇总和组织各种元数据,解决了数 ...

  9. H-ui JQuery 给单选按纽赋值不生效

    H-ui JQuery 给单选按纽赋值不生效 $("#sex-1").attr('checked',true) 原因,iradio-blue 样式的原因 把下面代码注释掉就可以了 ...

  10. compilation.templatesPlugin is not a function

    ERROR Failed to compile with 1 error TypeError: compilation.templatesPlugin is not a function - SetV ...