首页 使用Docker部署NAS
文章
取消

使用Docker部署NAS

部署mysql

1
sudo docker pull mysql:8.0.30
1
2
3
4
5
6
sudo docker run -p 3306:3306 \
--name byls-mysql \
--restart=always \
-v /home/byls/dockers/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=bylsmysqladmin \
-d mysql:8.0.30
  • 启动容器名为 byls-mysql 的 mysql 镜像

  • 挂载数据文件到 /home/byls/dockers/mysql/data 目录下

  • 服务端口为 3306,映射到 3306

连接

1
mysql -h 127.0.0.1 -u root -pbylsmysqladmin
1
create database nextcloud;

部署Redis

1
sudo docker pull redis:7.0.5
1
2
3
4
5
6
sudo docker run -p 6379:6379 \
--name byls-redis \
--restart=always \
-v /home/byls/dockers/redis/data:/data \
-v /home/byls/dockers/redis/redis.conf:/etc/redis/redis.conf \
-d redis:7.0.5 redis-server /etc/redis/redis.conf
  • 启动容器名为 byls-redis 的 redis 镜像

  • 挂载数据文件到 /home/byls/dockers/redis/data 目录下

  • 挂在配置文件到 /home/byls/dockers/redis/redis.conf,并使用配置文件启动

  • 服务端口为 6379,映射到 6379

部署 Nextcloud

1
sudo docker pull nextcloud:24.0.5
1
2
3
4
5
6
7
sudo docker run -p 9001:80 \
--name byls-nextcloud \
--restart=always \
-v /home/byls/dockers/nextcloud/html:/var/www/html \
--link byls-mysql:mysql \
--link byls-redis:redis \
-d nextcloud:24.0.5

这里记得绑定一下自己的mysql,不然nextcloud直接用ip连接的时候会报错:

SQLSTATE[HY000] [2002] No such file or directory 或者 SQLSTATE[HY000] [2002] Connection refused

frp内网穿透

https://github.com/fatedier/frp/releases

服务端(服务器)

下载服务端并解压

1
2
3
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

tar -zxvf frp_0.44.0_linux_amd64.tar.gz

进入解压目录

1
2
3
cd frp_0.44.0_linux_amd64

vim frps.ini

修改为

1
2
3
4
5
6
7
8
9
10
11
12
13
[common]
bind_port = 9000 # frp监听的端口,默认是7000,可以改成其他的
token = 123456 # 授权码,请改成更复杂的

dashboard_port = 7000 # frp管理后台端口,请按自己需求更改
dashboard_user = admin # frp管理后台用户名和密码,请改成自己的
dashboard_pwd = admin
enable_prometheus = true

# frp日志配置
log_file = /var/log/frp.log
log_level = info
log_max_days = 3

启动,报错没日至权限可使用sudo启动

1
./frps -c ./frps.ini &

客户端(本地)

下载客户端并解压(和服务端是同一个压缩包)

1
2
3
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

tar -zxvf frp_0.44.0_linux_amd64.tar.gz

进入解压目录修改 frpc.ini

1
2
3
cd frp_0.44.0_linux_amd64

vim frpc.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[common]
server_addr = xx.xx.xx.xx # 服务器地址
server_port = 9000 # 服务端设置的bind_port
token = 123456 # 服务端设置的token

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 9999

[nextcloud]
type = tcp
local_ip = 127.0.0.1
local_port = 9001
remote_port = 9001

启动

1
./frpc -c ./frpc.ini &

用ssh或者访问nextcloud管理页面试试能不能访问

后续

nextcloud会有访问域名的校验,所以需要在nextcloud的 config/config.php 中设置你的服务器地址。 找到 trusted_domains 列表,加上你的服务器地址

1
2
3
4
  'trusted_domains' => 
  [
  'xx.xx.xx.xx'
  ],

参考

  • https://www.cnblogs.com/xwgli/p/16512462.html

  • https://www.cnblogs.com/maowenqiang/p/16010447.html

  • https://blog.csdn.net/weixin_43922901/article/details/109261700

本文由作者按照 CC BY 4.0 进行授权