## 1
最近在学docker部署,一开始打算将nginx先docker化的。
对照官方的docker镜像介绍说明,进行自定义配置
将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是屏蔽了default.conf,以及include文件夹 sites-available
1
2
|
# include /etc/nginx/conf.d/.conf;
include /etc/nginx/sites-available/ ;
|
官方原先配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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,名字,端口,挂载本地文件替代默认
1
2
3
4
5
6
7
8
9
|
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。
1
|
docker exec -it nginx /bin/bash
|
发现自己把默认的default.conf删除后,没有添加其他的配置文件,之前的sites-available文件夹是空的。
## 3
自己把自己坑了,添加
1
|
-./nginx/sites-available:/etc/nginx/sites-available:ro
|
并在sites-available添加一个配置文件。
1
2
|
/etc/nginx/sites-available# ls
default.conf
|
运行后,对端口地址访问终于正常了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/duoxuan/p/9263633.html