方法一:通过docker方式搭建
1、创建一个nginx配置文件/etc/nginx/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 mime.types;default_type application/octet-stream;server {listen 80;server_name localhost;root /usr/share/nginx/html;index index.html index.htm;autoindex on; # 开启目录列表location / {try_files $uri $uri/ =404;}}
}
请确保 server
指令在 http
块内。其中 autoindex on; # 开启目录列表
2、运行docker的nginx把配置文件映射到容器内部
docker run --name retrievl_nginx -d \-v /path/to/your/nginx.conf:/etc/nginx/nginx.conf \-v /path/to/files:/usr/share/nginx/html \-p 9993:80 \nginx
这里的 /path/to/your/nginx.conf
是你修改后的配置文件路径。
3、重启 Nginx 容器:
docker restart retrievl_nginx
4、浏览器访问,服务器ip:9993
方法二:通过k3s中配置ConfigMap方式搭建
1、在对应的命名空间中创建ConfigMap文件
ConfigMap的名称和KEY可以自定义,value的内容跟上面的通过docker方式创建的nginx.conf内容一样。
2、通过字典的形式把ConfigMap的value内容挂载到容器中。内容作为nginx.cofig文件的内容,如下:
TIP
- 在这个例子中,我们使用 ConfigMap nginx-config 中的 KEY nginx-conf 中的内容挂载到容器的 /etc/nginx/nginx.conf 路径,以此替换了容器镜像中该路径原来的文件内容;
- 也可以将 ConfigMap 作为一个数据卷(在挂载时不指定数据卷内子路径)挂载到容器,此时 ConfigMap 将映射成一个文件夹,每一个 KEY 是文件夹下的文件名,KEY 对应的 VALUE 是文件当中的内容。
3、配置服务的端口,因为nginx.conf文件中监听的端口是80,所以下面TargetPort也需要填写80
4、启动后在浏览器通过服务器 ip:Nodeport 访问
更多的ConfigMap的内容参考:
使用ConfigMap配置您的应用程序 | Kuboard