1. 镜像下载

首先打开docker应用,在镜像仓库分别下载以下2个镜像:

  • halcyonazure/lsky-pro-docker
  • mysql/mysql-server

2.创建容器

使用刚才下载的2个docker镜像分别创建容器。
在这之前,先在本地的文件系统中创建两个文件夹。

lsky_pro

创建容器进行必要的参数配置

mysql

创建mysql镜像

必要的参数配置


创建好容器后,进入容器终端,对mysql进行一些基本的配置

1)修改 root 用户的 host,以便root用户能够从非本机ip登录:

UPDATE mysql.user SET host = '%' WHERE user = 'root'; 

FLUSH PRIVILEGES;

2)设置root密码

ALTER USER 'root' IDENTIFIED BY '密码';

3)创建一个数据库,用于存储图床的数据

CREATE DATABASE lksky;

3. 配置lsky

浏览器访问,根据向导进行配置



安装向导结束后,登录系统,获取token

获取到token如下

4. 配置PicGo

1)下载地址
https://github.com/Molunerfinn/PicGo/releases

2)下载安装后,安装lsky插件

点击图床设置,配置兰空图床相关信息

Auth token填写前面获取的token,主要要再前面加上Bearer ,用空格隔开

3)配置好后,遇到以下报错

报错日志:

"message": "unable to verify the first certificate",
  "stack": "Error: unable to verify the first certificate\n    at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)\n    at TLSSocket.emit (node:events:394:28)\n    at TLSSocket._finishInit (node:_tls_wrap:944:8)\n    at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12)",

原因是https证书问题,部署完成后,默认的https证书是自签名证书,是不受信任的

解决办法

申请证书颁发机构的免费证书,缺点是有效期只有一个月,但是我们可以通过ACME帮我们在证书到期时,自动更新证书。

1)注册登录FreeSSL
2)在证书自动化菜单添加域名

点击下一步后,得到主机记录和记录值

登录自己购买域名的平台(这里用的是腾讯云),进行域名解析配置

接下来继续回到FreeSSL操作,申请证书

打开docker终端,依次执行以下命令安装acme客户端

apt update
apt install cron socat
curl https://get.acme.sh | sh -s email=my@example.com

-------------------------------------

如果执行上面的命令安装失败,参考:
中国大陆用户请参考:https://github.com/acmesh-official/acme.sh/wiki/Install-in-China

继续在docker终端执行在freessl复制的命令

可以看到acme给我们申请的证书在本地的存储路径

我们可以在/etc/apache2/sites-enabled/default-ssl.conf路径,看到证书的默认配置

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

以上两个文件路径,就是默认的证书文件,因此,我们需要继续使用acme执行以下命令,实现用acme申请的证书文件进行替换,并且在后续能通过计划任务更新证书自动进行替换


acme.sh --install-cert -d example.com --key-file /etc/ssl/private/ssl-cert-snakeoil.key --fullchain-file /etc/ssl/certs/ssl-cert-snakeoil.pem --reloadcmd "service apache2 orce-reload" 

至此,使用acme自动更新https证书已全部完成,我们可以访问看看

再使用picgo上传图片至兰空图床,报错问题已解决