- 创建挂载所需目录:
mkdir /test/server/nginx/{conf,logs,html,conf.d}
- /test/server/nginx/conf创建nginx.conf文件,并编辑:
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;
}
- /test/server/nginx创建conf.d/default.conf文件,并编辑:
server {listen 80;server_name localhost;#charset koi8-r;#access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}
}
- /test/server/nginx/html创建index.html文件,并编辑:
<html>
<head>
<meta charset="utf-8">
<title>Mynginx</title>
</head>
<body>
<h1>
欢迎使用自定义nginx欢迎页!
</h1>
</body>
</html>
- /test/server/nginx/html创建50x.html文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Error</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>出现错误.</h1>
<p>对不起,您正在寻找的页面目前不可用。<br/>
请稍后再试.</p>
<p>如果您是该资源的系统管理员,那么应该进行检查详细信息的错误日志.</p>
<p><em>您忠诚的, nginx.</em></p>
</body>
</html>
- 直接启动nginx,并实现挂载。
docker run --name nginx -d -p 8080:80 -v /test/server/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /test/server/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /test/server/nginx/logs:/var/log/nginx -v /test/server/nginx/html:/usr/share/nginx/html docker.io/nginx
最终效果: