yapi 在Docker方式部署下,通过init.lock文件来确认是否安装,将会存在严重问题

uhry853o  于 2022-10-20  发布在  Docker
关注(0)|答案(5)|浏览(220)

版本号

所有版本

什么问题

在Docker方式部署下,通过init.lock文件来确认是否安装,将会存在严重问题。

如下代码处理不当,建议不要通过init.lock文件进行判断。
https://github.com/YMFE/yapi/blob/master/server/install.js

function install() {
  let exist = yapi.commons.fileExist(yapi.path.join(yapi.WEBROOT_RUNTIME, 'init.lock'));

  if (exist) {
    throw new Error(
      'init.lock文件已存在,请确认您是否已安装。如果需要重新安装,请删掉init.lock文件'
    );
  }

  setupSql();
}

如何复现此问题

docker环境下,重启docker。

什么浏览器

什么系统(Linux, Windows, macOS)

scyqe7ek

scyqe7ek2#

@fjc0k 这个镜像 关于这块 是怎么处理的呢

yquaqz18

yquaqz183#

@fjc0k 这个镜像 关于这块 是怎么处理的呢

看源码就懂了,具体就是不处理,把报错屏蔽掉也不影响啥

xzv2uavs

xzv2uavs4#

@fjc0k 了解了,我也是自己打的镜像,并修改了一些代码。不过官方应该进行统一处理就好了

8oomwypt

8oomwypt5#

首次部署的时候执行一次就行了

相关问题