首頁  >  文章  >  運維  >  docker nginx運行後無法存取如何解決

docker nginx運行後無法存取如何解決

WBOY
WBOY轉載
2023-05-14 21:01:091267瀏覽

## 1

最近在學docker部署,一開始打算將nginx先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运行后无法访问如何解决

以上是docker nginx運行後無法存取如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除