Docker部署Nginx下载站点服务

1、下载镜像

由于docker官方镜像站点被封了,所以我把镜像上传到阿里云镜像仓库了

docker pull registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

2、运行容器实例

运行变量解释:

变量名称 默认值 解释
USER hyadmin 访问下载站点的认证用户
PASSWD hyadmin 访问下载站点的认证用户密码
NGINX_PORT 4090 访问端口
NGINX_CONTEXT /logs 访问路由

最简单方式运行容器(三选一):

docker run -itd \
    --name file-nginx \
    --restart always \
    --net host \
    -v /usr/local/package:/usr/local/nginx/html/logs \
    registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

运行容器并指定变量信息(三选一):

docker run -itd \
    --name file-nginx \
    --restart always \
    --net host \
    -e USER=admin \
    -e PASSWD='1qaz!QAZadmin.' \
    -e NGINX_PORT=9096 \
    -e NGINX_CONTEST=/logs \
    -v /usr/local/package:/usr/local/nginx/html/logs \
    registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

docker-compose方式运行容器(三选一):

version: '3'
services:
  file-nginx:
    image: "registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0"
    container_name: "file-nginx"
    environment:
      - TZ=Asia/Shanghai
      - USER=admin
      - PASSWD=1qaz!QAZadmin.
      - NGINX_PORT=9096
      - NGINX_CONTEST=/logs
    restart: always
    volumes:
      - /usr/local/package:/usr/local/nginx/html/logs 
    network_mode: "host"

运行容器:

docker-compose up -d

3、页面访问验证

浏览器访问:https://IP:${NGINX_PORT}/${NGINX_CONTEST},为了安全起见,我把证书和用户认证都添加了,所以当我们访问时需要使用https并且需要用户认证,如下图所示:

在这里插入图片描述

当我们输入正确用户名、密码后,即可访问下载站点,如下图:

在这里插入图片描述

由于没有添加下载文件,所以访问到的页面是空白的,如上图,现在我们添加一些文件到/usr/local/package路径。

mkdir /usr/local/package/{QIN,ZI,TENG}         # 创建测试目录
touch /usr/local/package/qinziteng{1..10}.txt  # 创建测试文件
dd if=/dev/zero of=/usr/local/package/qinziteng666.txt bs=1M count=100 # 创建100M大小文件

刷新页面即可查看到文件了,如下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击要下载的文件即可,如下图,具体下载速度和带宽有关系,建议内网中使用:在这里插入图片描述

至此,结束!

相关推荐

  1. docker部署nginx访问宿主机服务,并使用缓存

    2024-06-17 07:02:01       129 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 07:02:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 07:02:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 07:02:01       82 阅读
  4. Python语言-面向对象

    2024-06-17 07:02:01       91 阅读

热门阅读

  1. QSharedMemory使用详解

    2024-06-17 07:02:01       27 阅读
  2. Qt 实战(4)信号与槽 | 4.3、信号连接信号

    2024-06-17 07:02:01       28 阅读
  3. 跨域资源共享(CORS)问题与解决方案

    2024-06-17 07:02:01       27 阅读
  4. wxml与标准的html的异同?

    2024-06-17 07:02:01       30 阅读
  5. 3.1. 马氏链-马氏链的定义和示例

    2024-06-17 07:02:01       27 阅读
  6. Android基础-JNI

    2024-06-17 07:02:01       24 阅读
  7. 一个简单的UDP客户端和服务端的完整C++示例

    2024-06-17 07:02:01       37 阅读
  8. 学习vite的核心原理

    2024-06-17 07:02:01       27 阅读
  9. Flutter学习(一)

    2024-06-17 07:02:01       30 阅读
  10. 【websocket】怎么终止websocket断开重连

    2024-06-17 07:02:01       30 阅读
  11. 【Git】撤销远程仓库的提交(push)

    2024-06-17 07:02:01       38 阅读
  12. cbam+lstm代码预测

    2024-06-17 07:02:01       22 阅读
  13. vant的作用及其使用方法

    2024-06-17 07:02:01       33 阅读