1. 获取代码
git clone https://github.com/rancher/ingress-nginx.git
cd ingress-nginx
git checkout nginx-0.35.0-rancher2
2. 修改images/nginx/rootfs/build.sh 文件
将export NGINX_VERSION=1.19.2
改为export NGINX_VERSION=1.20.2
之后执行如下命令,即可完成打包,并导出成文件:
cd images/nginx/
docker build -t nginx:1.20.2 -f rootfs/Dockerfile rootfs
docker打包成功后,执行:
docker save nginx:1.20.2 |gzip > nginx-1.20.2.tgz
3. 编写nginx.conf,保存到/home/nginx/nginx.conf,如下所示:
#user nginx;
worker_processes auto;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include 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 0;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
#upstream java_server {
# server 192.168.1.200:8001;
# keepalive 2000;
#}
server {
listen 8081;
server_name 192.168.1.100;
client_max_body_size 1024M;
#location /api/ {
# proxy_pass http://my_server/;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header REMOTE-HOST $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Host $host:$server_port;
#}
location / {
root /usr/share/html;
index index.html;
try_files $uri $uri /index.html;
}
}
}
将前端页面保存到:/home/nginx/html,并创建/home/nginx/logs目录用来存储日志文件,
4. 在命令行执行如下命令:
docker run -id -p 8080:8080 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx -v /home/nginx/html:/usr/share/html nginx:1.20.2
之后,访问8080端口,即可打开页面