【Docker系列】Lsky-Pro兰空图床

前言

安装MySQL

创建网络

我们下面部署Lsky-Pro图床都是使用Docker容器,MySQL使用MySQL8.0版本,也是使用docker部署,同时,我们使用一个独立的MySQL容器,用于存储服务器的全部服务的数据库,减少容器占用的内存。

创建mysql网络

我们创建一个名为mysql网络,用于lsky-pro容器和mysql容器通信

1
sudo docker network create mysql

创建数据库

创建MySQL容器

为了后面服务器的数据持久化和性能考虑,我们使用一个公用的MySQL容器来存储Lsky-Pro图床的数据,这样之后如果有其他的服务需要用到MySQL,也可以使用这个MySQL容器来存储数据,减少重复的mysql容器,减低服务器内存。

创建MySQL工作目录

1
2
sudo mkdir -p /home/docker/mysql8
cd /home/docker/mysql8

创建docker-compose

新建docker-compose.yml文件

1
sudo vim docker-compose.yml

将以下内容内容写入到docker-compose.yml文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: '3.1'
services:
mysql8:
restart: always
image: mysql:8.0
container_name: mysql8.0
volumes:
- ./mydir:/mydir
- ./datadir:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
# 数据库还原目录 可将需要还原的sql文件放在这里
- ./source:/docker-entrypoint-initdb.d
environment:
- MYSQL_ROOT_PASSWORD=f8ef87ggweg # root用户密码
- MYSQL_USER=lsky-pro # 新建一个lsky-pro用户
- MYSQL_PASSWORD=7d1g8s1f8fd5 # 设置lsky-pro用户密码
- MYSQL_DATABASE=lsky-pro # 新建一个lsky-pro数据库
- TZ=Asia/Shanghai # 设置数据库时区
ports:
# 使用宿主机的3306端口映射到容器的3306端口
- 4308:3306
networks:
- mysql
networks:
mysql:
external:
name: mysql

启动MySQL容器

cd /home/docker/mysql8,进入到mysql工作目录中,使用docker-compose方式启动容器

1
sudo docker-compose up -d

部署Lsky-Pro

创建lsky-pro工作目录

1
2
sudo mkdir -p /home/docker/lsky-pro
cd /home/docker/lsky-pro

创建docker-compose

新建docker-compose.yml文件

1
sudo vim docker-compose.yml

将以下内容内容写入到docker-compose.yml文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3'
services:
lsky-pro:
container_name: lsky-pro #容器名称
image: dko0/lsky-pro #所用镜像
restart: always
volumes:
- ./data:/var/www/html #映射到本地
ports:
- 5329:80 #端口映射7791可以改
environment: #环境配置
- MYSQL_HOST=mysql8 # MySQL容器名
- MYSQL_DATABASE=lsky-pro #数据库名
- MYSQL_USER=lsky-pro #数据库用户名
- MYSQL_PASSWORD=7d1g8s1f8fd5 #数据库密码
networks:
- mysql
networks:
mysql:
external:
name: mysql

启动lsky-pro容器

cd /home/docker/lsky-pro,进入到mysql工作目录中,使用docker-compose方式启动容器

1
sudo docker-compose up -d

反向代理Lsky-pro

Nginx Proxy Manager具体用法我这里就不累赘了,可以参考我另一篇文章。

添加代理主机

![01-添加代理主机-Nginx Proxy Manager 20230616-827](G:/FILE/FileSave/图片素材/博客/计算机科学/技术杂谈/docker/Docker系列/【docker系列】兰空图床/01-反向代理/01-添加代理主机-Nginx Proxy Manager 20230616-827.png)

SSL配置

![02-添加SSL- 20230616-279](G:/FILE/FileSave/图片素材/博客/计算机科学/技术杂谈/docker/Docker系列/【docker系列】兰空图床/01-反向代理/02-添加SSL- 20230616-279.png)

自定义配置主机

1
2
3
4
5
6
7
8
location / {
proxy_pass http://172.17.0.1:5329;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header REMOTE-HOST $remote_addr;
}

03-自定义配置方式-20230616-453

安装Lsky-Pro

打开你的lsky-pro图床,如果你配置了域名,就打开域名,如果没有没有配置域名,就打开IP:端口

环境检测

打开第一个页面是这样,环境监测,看到全部都是绿色勾勾表示没有问题,如果出现了问题,可以自己寻找一下方法,我这这边没有遇到错误。

01-Lsky Pro 安装程序 — Mozi20230615-426

连接数据库

  • 数据类型:MySQL5.7+
  • 数据库连接地址:mysql8
  • 数据库连接端口:3306
  • 数据库名称/路径:lsky-pro
  • 数据库用户名:lsky-pro
  • 数据库密码:7d1g8s1f8fd5
  • 管理员账号邮箱:根据自己邮箱填写
  • 管理员账号密码:自定义

![02-Lsky Pro 安装程序 — Mozi20230615-588](G:/FILE/FileSave/图片素材/博客/计算机科学/技术杂谈/docker/Docker系列/【docker系列】兰空图床/02-安装lsky-pro/02-Lsky Pro 安装程序 — Mozi20230615-588.png)

安装成功

安装成功时以下这个页面

![03-Lsky Pro 安装程序 — Mozi20230615-770](G:/FILE/FileSave/图片素材/博客/计算机科学/技术杂谈/docker/Docker系列/【docker系列】兰空图床/02-安装lsky-pro/03-Lsky Pro 安装程序 — Mozi20230615-770.png)

Lsky-Pro图床使用

可能遇到的错误

样式无法正常显示

这个问题就是你Nginx没有配置好,在nginx配置如下就好了。

1
2
3
4
5
6
7
8
location / {
proxy_pass http://172.17.0.1:5329;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header REMOTE-HOST $remote_addr;
}

![error-01-Lsky Pro 安装程序 — Mozi20230615-710](G:/FILE/FileSave/图片素材/博客/计算机科学/技术杂谈/docker/Docker系列/【docker系列】兰空图床/error-01-Lsky Pro 安装程序 — Mozi20230615-710.png)

文章参考

搭建兰空图床(Lsky Pro)-docker

本文章来源于我的博客:https://blog.hikki.site