方法一:通过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

更多推荐