Docker部署Alist网盘并添加本地存储实现公网访问

一. 使用Docker本地部署Alist

1、卸载系统之前可能安装的 docker(防止冲突)

卸载系统之前可能安装的 docker(防止版本不一致,发生冲突)

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2、安装 Docker-CE 基本环境

配置系统的安装源

地址: 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

##删除系统自带的安装源
rm  -rf  /etc/yum.repos.d/*


## Centos安装源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
//或者(最小化系统默认不安装wget,但有curl)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo


## epel安装源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
//或者
curl -o  /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo



## 安装必须的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2


## docker安装源并安装docker
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

3、安装并启动 docker

## 安装docker-ce
sudo yum makecache fast
sudo yum -y install docker-ce

## 启动docker
systemctl start docker

##查看docker服务状态 running 就是启动成功
systemctl status docker

4、设置 docker 开机自启

systemctl enable docker --now

5、设置docker的镜像加速

地址: 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

登录成功后点击控制台

点击左上角的 三 横扛, 在在产品与服务中找到 容器这一列, 点击 容器镜像服务ACR

依次点击进去

即可看到各系统版本的镜像加速器, 直接复制粘贴即可

我这;里使用的是Centos7的系统

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://tmxrxset.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二 , 安装 aList网盘

1,拉取镜像

docker pull xhofe/alist-aria2

2,准备数据目录

mkdir  /data/alist  -p

3, 创建并运行

docker run -d --restart=always -v /data/alist:/opt/alist/data -p 5244:5244  --name="alist" xhofe/alist-aria2

4, 查看容器自动生成的密码

查询容器的启动日志,得到 admin 用户的密码

docker  log  alist

5, 在浏览器中进行访问

在浏览器中输入 http://ip:5244

三, 管理alist

1, 将本地磁盘挂载到 alist中

首次访问会出现 “failed get storage:storage not found;please add a storage first”错误信息,点击页面底部的管理按钮,进入alist管理页面,在存储菜单下添加你自己的网盘后就可以了

点击存储 --> 添加

驱动选择 本地存储

根文件夹路径选择磁盘上的路径,但是由于本次部署是使用的docker 进行部署,所以应该写的挂载路径是 docker 容器内部的路径 -v /data/alist:/opt/alist/data , 所以应该写 /opt/alist/data 下的路径,这样写,就会出现在宿主机的挂载目录中(需要提前在属主机的/data/alist 挂载目录下创建对应的文件夹)

点击右下角的图标, 可以将本地的文件等上传

文件拖拽过来即可上传到docker容器里

点击视频也可以直接播放

我们就成功在本地搭建了Alist全平台网盘神器,但如果想实现出门在外,也能随时随地使用能使用Alist,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现Alist的公网访问!

2,安装cpolar内网穿透

内网穿透是一种让内网主机能够被公网访问的技术。它的原理是通过在公网服务器上与内网主机建立一个通道,然后将公网的请求转发到内网的端口,从而绕过路由器或防火墙的限制。内网穿透可以解决无公网IP的问题,也可以实现P2P通信。内网穿透的工具有frp,cpolar,ngrok,花生壳

cpolar官网地址: cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的cpolar

选择免费的套餐

选择自己相关的系统进行下载安装(我这里是linux)

第一步:复制链接进行下载
 wget https://static.cpolar.com/downloads/releases/3.3.18/cpolar-stable-linux-amd64.zip

// 最小化没有wget, 可以使用这个下载
 curl -o /root/cpolar-stable-linux-amd64.zip   https://static.cpolar.com/downloads/releases/3.3.18/cpolar-stable-linux-amd64.zip

第二步: 进行解压
 unzip cpolar-stable-linux-amd64.zip 

第三步 : 将创建的账户的 authoken添加到cpolar.yaml中

$ ./cpolar authtoken ZjEyODY1MzYtZTFkMS00YjUagasgagagquigeuhqig
//这里的token 填你自己账户里的, 不要复制我的token

第四步: 开启代理

## 这里的alist的端口是 5244
 ./cpolar http 5244

上面的图的两行Forwarding 方框里的都可以进行访问

浏览器访问

至此, 就可以在公网上查看自己上传的私人网盘了

要在公网部署nginx rtmp docker实现用户名密码认证,可以按照以下步骤进行操作: 1. 首先,在服务器上安装Docker,确保可以正常使用Docker命令。 2. 下载nginx rtmp镜像,在本地创建一个docker容器: `docker run -d -p 1935:1935 -p 80:80 --name nginx-rtmp tiangolo/nginx-rtmp` 这将创建一个名为nginx-rtmp的容器,将宿主机的1935端口映射到容器的1935端口,80端口映射到容器的80端口。 3. 进入容器的shell环境: `docker exec -it nginx-rtmp /bin/bash` 4. 在容器中安装htpasswd工具,用于生成密码文件: `apt-get update && apt-get install apache2-utils` 5. 使用htpasswd生成密码文件,设置用户名和密码: `htpasswd -c /etc/nginx/.htpasswd username` 该命令将创建一个.htpasswd文件,添加一个用户名为"username"的用户,此时会提示输入密码。 6. 编辑nginx配置文件,实现基本的用户名密码认证: `vi /etc/nginx/nginx.conf` 在`rtmp { ... }`或其他相关的块内添加以下配置: ``` application myapp { live on; hls on; hls_path /tmp/hls; deny play all; # 禁止未认证用户播放流 hls_fragment 1s; # 每个片段的时长 hls_playlist_length 3s; # M3U8播放列表文件的长度 auth_basic "Restricted"; # 认证提示信息 auth_basic_user_file /etc/nginx/.htpasswd; # 密码文件路径 } ``` 7. 保存配置文件重启nginx服务: `service nginx restart` 现在,当访问rtmp流时,用户需要输入用户名和密码才能进行验证,可以播放和查看流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值