服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )

## 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

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

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

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

上一篇:Trash-Cli:Linux上的命令行回收站工具
下一篇:解决docker pull被复位出现的问题
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。