当前位置: 首页 > Linux运维 > Docker > 使用Docker容器部署Zdir目录列表程序

使用Docker容器部署Zdir目录列表程序

发布于:2020-5-5 最后更新:2020-6-21 Docker 13条评论 3,394 views
如需VPS代购、PHP开发、服务器运维等服务,请联系博主QQ:337003006

Zdir是一款使用PHP开发的目录列表程序,无需数据库,安装简单,使用方便。现已支持Docker方式部署,欢迎使用。

Docker手动部署(需一定运维基础)

安装Docker

请先确保您已经安装Docker,若还没有安装可参考:Linux安装Docker与Docker常用命令

Docker部署Zdir

输入下面的命令创建用户和用户组,并设置目录权限。

#创建用户和用户组
groupadd www
useradd -M -g www www -s /sbin/nologin
#设置目录权限
chown -R www:www /data/wwwroot/zdir

复制下面的命令在Docker容器中运行Zdir

docker run --name="zdir"  \
    -d -p 1080:80 --restart=always \
    -v /data/wwwroot/default:/data/wwwroot/default \
    helloz/zdir \
    /usr/sbin/run.sh

安装完毕后访问http://IP:1080根据页面提示完成操作即可,下面的参数可以自行修改。

  • 1080:服务器所监听的端口,即Zdir访问端口
  • /data/wwwroot/default:Zdir路径
  • 默认用户名zdir,密码xiaoz.me

注意:

如果运行没有报错,但是1080无法访问,请检查防火墙或安全组是否放行1080端口:

#firewalld放行1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent
firewall-cmd --reload

脚本一键安装

如果觉得上面的步骤过于繁琐,可通过xiaoz提供的Docker for Zdir脚本一键安装,大大简化操作步骤。

bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/docker-zdir/master/zdir-install.sh)

安装的时候根据脚本提示完成设置,安装成功后看到的内容如下图:

Nginx反向代理

如果您服务器已经安装Nginx,并希望通过域名方式访问,可配置反向代理访问,配置内容如下:

server
    {
    listen          80;
    server_name     zdir.xiaoz.me;
    location / {
       proxy_pass http://127.0.0.1:1080;
       proxy_redirect off;
       proxy_set_header Host $host;
       client_max_body_size 50m;
           client_body_buffer_size 256k;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_max_temp_file_size 200m;
  }

location ~ .*\.(js|css|woff|woff2|gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)?$ {
       proxy_pass http://127.0.0.1:1080;
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       expires 7d;
        access_log off;
  }

}

zdir.xiaoz.me为您自己的访问域名,配置完毕后记得重启Nginx生效。

获取捐赠版

扫描下方二维码,捐赠大于30元以上可获得捐赠版,捐赠版可享受首次技术支持及去除广告,捐赠后请联系我的QQ:337003006获取。

其它


13 条评论 “使用Docker容器部署Zdir目录列表程序”

  1. 夜影小窝说道:

    创建好后,本地共享文件夹里面没有资料。怎么回事

  2. zytyz说道:

    1.5的版本,打开文件夹后,点击上面的“..”会返回根目录,而不上返回上一级目录

    1. xiaoz说道:

      有测试地址吗?看下functions/version.txt里面的小版本号是多少呢。

      1. zytyz说道:

        噢噢,我在公司内网用的,给大家共享文件的,我不是放在根目录,然后参照1.3.2修改了home.php里的获取上一级目录,在/后面加上了index.php,现在可以了

        1. xiaoz说道:

          v1.50开始已经支持放在子目录,可以参考:https://www.yuque.com/helloz/zdir/install

          1. zytyz说道:

            好的,谢谢站长,我来学习一下

  3. yang yang说道:

    为啥点击文件管理显示404not found

    1. xiaoz说道:

      最近推送了Zdir测试版,而Docker版本拉取的最新源码,还没来得及适配,预计本周末解决。

    2. xiaoz说道:

      您好,Zdir Docker版已修复,您可以重新安装试试。

      1. harlon说道:

        19:33 5/31
        404 Not Found
        另外,可够提供 dockerfile ?

        1. xiaoz说道:

          Docker手动部署需要自行下载源码到对应目录,Dockerfile在这里:https://github.com/helloxz/docker-zdir/blob/master/Dockerfile

  4. 游客说道:

    关于文件清单功能放在apache上正常显示文件,但是在nginx上运行就没有结果,空白显示,点击清楚缓存也没有反应,会是什么原因呢?相关文件的权限也都给了还是没有缓存列表显示
    https://i.bmp.ovh/imgs/2020/05/dcb3eb0e808fd57d.png

    1. xiaoz说道:

      您是从官方下载的源码吗?感觉您这个修改过呢,之前的版本有BUG,请从这里https://github.com/helloxz/zdir 下载最新版本。

发表评论

电子邮件地址不会被公开。 必填项已用*标注