docker安装nginx搭建简单文件共享服务

createh52周前 (06-23)技术教程5

使用nginx开启目录浏览功能,实现简单的http文件共享服务。

一、 首先拉取nginx镜像,我使用的是arm32v7/nginx镜像。

docker pull arm32v7/nginx

二、运行一个临时的nginx实例,复制容器内的nginx.conf配置文件到主机上

docker run --name tmp-nginx-container -d arm32v7/nginx
docker cp tmp-nginx-container:/etc/nginx/nginx.conf /root/download/docker/nginx/nginx.conf
docker rm -f tmp-nginx-container

修改nginx.conf文件,在http{}内添加以下内容,开启目录浏览功能

autoindex on; #开启nginx目录浏览功能 
autoindex_exact_size off; #文件大小从KB开始显示  
autoindex_localtime on; #显示文件修改时间为服务器本地时间 
charset utf-8,gbk;#解决中文乱码问题


三、运行nginx实例,添加配置文件

docker run -d --name nginx_downloads -v /root/download/downloads/:/usr/share/nginx/html -v /root/download/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -p 8080:80 --restart unless-stopped arm32v7/nginx

-d 后台运行
–name 为生成的实例的名字
-v 添加我的下载目录为网站的根目录
-v 将修改后的nginx.conf文件替换实例内的conf文件
-p 映射主机8080到实例的80端口
arm32v7/nginx为要实例化的镜像

打开localhost:8080或你主机ip:8080查看网页



四、特殊情况,网页403禁止访问

可能你按照上面配置好了之后,打开网页还是显示403不能访问。造成这个问题的原因是容器内的nginx程序是以nginx用户运行的,在本机上没有nginx用户,所以没有权限读取网站根目录。检查映射的网站根目录,给所有人设置读和执行的权限。
对应我的情况,就是执行如下命令。

chmod -R 755 /root/download/downloads

然后重启一下docker的nginx容器

docker restart nginx_downloads

相关文章

pure-ftpd 使用

pure-ftpd是一个免费的ftp软件,其他介绍就不多说了。我们直接开始主题安装centosyum install epel-release yum install pure-ftpd配置备份原配置...

Docker/Compose常用命令整理总结

一、Docker 常用命令1. 镜像管理命令用途常用参数示例docker pull <镜像名>:<标签>拉取镜像docker pull nginx:latestdocker i...

使用NAS或服务器搭建Alist,手机和电脑轻松实现远程访问

一、NAS搭建Alist教程1. 搭建准备事项与费用项目准备事项费用参考(人民币)硬件设备群晖、威联通等支持Docker的NAS设备(需具备存储空间)已有设备无需额外费用软件工具群晖Docker套件、...

Docker命令最全详解(29个最常用命令)

大家好,我是mikechen。Docker是云原生的核心,也是大厂的必备技能,下面我就全面来详解Docker核心命令@mikechen本文作者:陈睿|mikechen文章来源:mikechen.cc1...

Rocky Linux Nginx 自动更新免费 SSL,全流程实战

Let’s Encrypt 是由非营利性组织 Internet Security Research Group (ISRG) 推动的免费、自动化、开源的证书颁发机构(CA)。它采用 ACME 协议,让...

wordpress搭建教程,wp网站搭建教程,wordpress快速搭建

wordpress搭建教程,WordPress是一款使用PHP语言开发的博客平台,站长可使用通过WordPress搭建属于个人的网站。本文主要分享如何wordpress建站的wordpress搭建教程...