## 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運行後無法存取如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!