版本号
所有版本
什么问题
在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。
5条答案
按热度按时间bbmckpt71#
换镜像: https://github.com/fjc0k/docker-YApi
scyqe7ek2#
@fjc0k 这个镜像 关于这块 是怎么处理的呢
yquaqz183#
@fjc0k 这个镜像 关于这块 是怎么处理的呢
看源码就懂了,具体就是不处理,把报错屏蔽掉也不影响啥
xzv2uavs4#
@fjc0k 了解了,我也是自己打的镜像,并修改了一些代码。不过官方应该进行统一处理就好了
8oomwypt5#
首次部署的时候执行一次就行了