docker nginx 运行后无法访问的问题解决

## 1

最近在学docker部署,一开始打算将nginx先docker化的。

对照官方的docker镜像介绍说明,进行自定义配置

将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是屏蔽了default.conf,以及include文件夹 sites-available

# include /etc/nginx/conf.d/.conf;
include /etc/nginx/sites-available/;

官方原先配置

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid    /var/run/nginx.pid;

events {
  worker_connections 1024;
}

http {
  include    /etc/nginx/mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log main;

  sendfile    on;
  #tcp_nopush   on;

  keepalive_timeout 65;

  #gzip on;

  include /etc/nginx/conf.d/*.conf;
}

新建docker-compose.yml 简单的 指定images,名字,端口,挂载本地文件替代默认

version: '3'
services:
 nginx-proxy:
  image: nginx
  container_name: nginx
  ports:
   - 8081:80
  volumes:
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

## 2

运行docker-compose up 后,一直卡在attaching to nginx,浏览器也是无法访问该端口地址

Starting nginx ... done
Attaching to nginx

不知道问题出在哪里,查找资料后发现可以使用tty参数进行调试。

修改docker-compose.yml,增加一个配置tty:true。

docker exec -it nginx /bin/bash

发现自己把默认的default.conf删除后,没有添加其他的配置文件,之前的sites-available文件夹是空的。

## 3

自己把自己坑了,添加

-./nginx/sites-available:/etc/nginx/sites-available:ro

并在sites-available添加一个配置文件。

/etc/nginx/sites-available# ls
default.conf

运行后,对端口地址访问终于正常了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)

    前言 本文主要介绍的是基于centos7进行yum安装lnmp(linux+nginx+php7.1+mysql5.7)的相关教程,文中将一步步介绍的非常详细,下面话不多说了,来一起看看详细的介绍吧. 步骤如下: yum的安装 yum update yum安装nginx 安装nginx最新源 yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch

  • CentOS7将Nginx添加系统服务的方法步骤

    导语 经过编译安装以及解决问题,Nginx 已经运行正常,但是此时 Nginx 并没有添加进系统服务.接下来会将 Nginx 添加进系统服务并且设置开机启动. 查看服务 首先查看 Nginx 的服务状态,输入 systemctl status nginx,结果如下 没有找到相关的服务,下一步就是添加系统服务. 添加系统服务 在 /usr/lib/systemd/system 目录中添加 nginx.service,根据实际情况进行修改,详细解析可查看下方参考资料中的文章.内容如下 [Unit]

  • centos7 docker 修改Nginx文件过程详解

    1.docker 安装 nginx : docker安装Nginx还是很简单的,可以参考百度文章 ,或者参照docker安装mysql : https://www.jb51.net/article/144426.htm 2.安装完后进入到docker容器: 执行命令:docker exec -it 容器id bash . 注意 ,容器必须是开启的才能进入. 3.以修改nginx 的index.html 为例: 1.进入index所在的目录 :cd usr/share/nginx/html 2.编

  • Centos7.3 安装部署Nginx并配置https的方法步骤

    安装环境 1. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译 编译依赖 gcc 环境: yum install gcc-c++ 2. PCRE pcre-devel 安装 安装pcre-devel 是使用 pcre 开发的一个二次开发库.: yum install -y pcre pcre-devel 3. zlib 安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 可以使用 zlib 对 http 包的内容进行 gzip: yum install -y zlib

  • CentOS7安装Nginx并配置自动启动的方法步骤

    1.官网下载安装包 http://nginx.org/en/download.html,选择适合Linux的版本,这里选择最新的版本,下载到本地后上传到服务器或者centos下直接wget命令下载. 切换到/usr/local目录,下载软件包 # cd /usr/local # wget http://nginx.org/download/nginx-1.11.5.tar.gz 2.安装nginx 先执行以下命令,安装nginx依赖库,如果缺少依赖库,可能会安装失败,具体可以参考文章后面的错误提

  • Centos7重启apache、nginx、mysql、php-fpm命令方法

    apache 启动 systemctl start httpd 停止 systemctl stop httpd 重启 systemctl restart httpd mysql 启动 systemctl start mysqld 停止 systemctl stop mysqld 重启 systemctl restart mysqld php-fpm 启动 systemctl start php-fpm 停止 systemctl stop php-fpm 重启 systemctl restart

  • 搭建docker内网私服的方法(docker-registry with nginx&ssl on centos)

    本文介绍了搭建docker内网私服的方法,分享给大家.具体如下: 主要思路: 1. Docker Registry 说明 关于如何创建和使用本地仓库,其实已经有很多文章介绍了.因为docker技术正处于发展和完善阶段,所以有些文章要么内容已经过时,要么给出了错误的配置,导致无法正常创建仓库.本文记录的是个人完整的搭建过程,docker version为1.1.2. 官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个

  • docker nginx 运行后无法访问的问题解决

    ## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是屏蔽了default.conf,以及include文件夹 sites-available # include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-available/; 官方原先配置 user nginx; worker_process

  • docker容器运行后退出(怎么才能一直运行)

    现象 启动docker容器 docker run –name [CONTAINER_NAME] [CONTAINER_ID] 查看容器运行状态 docker ps -a 发现刚刚启动的mydocker容器已经退出 原因 很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程. 容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的 docker容器的主线程(dockfile中CMD执行的命令)结束,容器会退出 解决方法 可以使用交互式启动 dock

  • 利用docker搭建php7和nginx运行环境全过程(官方镜像)

    本文分享的是利用docker搭建php7和nginx运行环境的全过程,分享出来供大家参考学习,下面来看看详细的介绍: 环境介绍 根目录: /docker 网站根目录:/docker/www nginx相关目录:/docker/nginx/conf.d 准备工作 1.使用docker加速器 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://68abbefd.m.daocloud.io service do

  • Docker MySQL无法被宿主机访问的问题解决

    目录 1 问题描述 2 原因 3 解决方案 1 问题描述 Docker启动MySQL容器后,创建一个localhost访问的用户: create user test@localhost identified by 'test'; 但是在宿主机中无法通过该用户登录: mycli -u test 2 原因 在Docker中的MySQL创建localhost的用户只能在Docker内部访问,而不能通过外部访问. 至于为什么能在宿主机访问root,是因为默认存在两个root,分别是: root@loca

  • docker部署golang http服务时端口无法访问的问题解决

    目录 1.背景 1.1 问题描述 1.2 webserver代码 3.Dockerfile文件 2.问题分析 3.解决方案 需要使用docker将golang的httpserver容器化.在这个过程中遇到了一个低级问题,golang http服务时端口无法访问,特此记录解决这个问题的过程. 1.背景 1.1 问题描述 问题描述: docker镜像启动成果之后,通过curl不能访问: [root@hecs-205828 ~]# curl -XGET http://127.0.0.1:8360/he

  • Nginx下修改WordPress固定链接导致无法访问的问题解决

    今天下午没事,像以往一样开始做seo的优化,当然牵扯到永久链接,wordpress提供多种类型的链接形式 1/%year%/%monthnum%/%day%/%postname%/ 2/%year%/%monthnum%/%postname%/ 3/%year%/%monthnum%/%day%/%postname%.html 4/%year%/%monthnum%/%postname%.html 5/%category%/%postname%.html 6/%post_id%.html 7/%

  • 详解SpringBoot项目docker环境运行时无限重启问题

    可能是我开始处理问题的思路不对,现在描述问题可能也有点乱,但是里面可能的处理方式希望能帮到遇到我这个坑的人 描述:springboot项目,docker镜像里面运行,看docker的日志,项目启动成功后,隔了一分钟左右他就自动重新启动,然后造成网站接口访问的时候nginx报502 gateway啥的,有两台服务器,一个是文件服务器,运行了很简单的上传下载文件的代码以及验证token,另一台运行了java应用,两台服务器都在一次更新项目的镜像,运行过后遇到了这个问题,很奇怪. 然后我将项目弄成ja

  • Docker Nginx容器制作部署实现方法

    快速开始 1.查找 Docker Hub 上的 nginx 镜像 docker search nginx 2.拉取官方的Nginx镜像 docker pull nginx 3.在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像 docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4bb46517cac3 4 weeks ago 133MB 4.以下命令使用 NGINX 容器内的默认的配置来启动

  • Docker+Nginx打包部署前后端分离步骤实现

    目录 问题描述 项目打包 前端项目打包 修改vue.config.js文件 router配置中添加base属性 打包前端项目 后端项目打包 将前端和后端的打包文件上传到服务器 nginx反向代理配置 后端通过Dockerfile打包成docker镜像 这里为什么使用docker? 构建Docker镜像 查看构建的镜像 运行容器 运行测试 问题描述 最近做了一个前后端分离的通用权限管理系统,今天想用自己的服务器部署下,本地部署测试是没问题的,但是部署在服务器上还是出现了许多小插曲,这里大概记录一下

  • docker+Nginx部署前端项目的详细过程记录

    目录 相关配置安装 创建配置文件 项目打包与部署 一个相关报错: 总结 相关配置安装 安装Docker yum install docker 启动服务 start docker systemctl start docker Docker中拉取nginx镜像 docker pull nginx 创建配置文件 我们需要在根目录下创建Dockerfile文件和default.conf文件. 其中default.conf文件的名称是什么无所谓,只要在配置文件中注意使用相同名称即可. Dokcerfile

随机推荐