docker:创建nginx图片服务器

背景:
在容器应用商店中,我们要给 helm chart 添加icon标签, 需要一个图片服务器
解决办法:
使用docker nginx 搭建
1.编写 nginx配置文件

server {
    listen       80;
    server_name  localhost;

    #(5)
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #(1)
    location /images/ {
        root  /mnt/;
        autoindex on; #(2)
        autoindex_exact_size off; #(3)
        autoindex_localtime on; #(4)
        charset utf-8,gbk; #(5)
    }

    #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;
    }
}

参数说明:
(1):添加图片目录映射,映射目录为/mnt/images/
(2):在Nginx下默认是不允许列出整个目录的。如需此功能,将该项设置为on
(3):默认为on,显示出文件的确切大小,单位是bytes
    改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
(4):默认为off,显示的文件时间为GMT时间
    注意:改为on后,显示的文件时间为文件的服务器时间
(5):设置编码(防止中文乱码),可以设置对全局生效或者部分路径生效

2.编写Dockerfile

FROM nginx:latest

MAINTAINER username
COPY default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80

3.build镜像

docker build -f  dockerfile -t image:v1 .

4.运行

docker run -d --name image  -p 8089:80 -v  images:/mnt/images image:v1

5.验证
curl localhost:8089/images/1.png

上一篇:在MySQL中如何有效的删除一个大表?


下一篇:nginx实现目录索引