我用docker安装之后,然后重启容器之后数据全部丢失,能不能不让丢失。确定是用 docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb 启动的。怎样才能数据不丢失,总不能每次关机重启都来一遍建立知识库和建立应用的操作吧。
相同问题重启后数据全部会被清空
已解决,我的是Windows 系统,需要把docker 容器挂载到硬盘的某个位置就可以了。
步骤:
1、删除现有容器
2、重新执行docker run -d --name=maxkb -p 8080:8080 -v F:/MaxKB:/var/lib/postgresql/data 1panel/maxkb 就可以了。我把它挂在了F:/MaxKB的目录里了,你可以改下自己的目录。如果不成功,先建好目录
但是我的访问不了MaxKB,容器logs提示127.0.0.1:5432 - no response,不知道是什么问题
我也是,一直是这样,你后来解决了嘛?
同问有无解决的高手
启动的时候添加 --privileged=true
比如将数据挂载到D盘
docker run -d --name=maxkb -p 8080:8080 -v D:/maxkb/data:/var/lib/postgresql/data --privileged=true 1panel/maxkb
如果启动还是报错,那就需要使用wsl子系统
Windows PowerShell命令行窗口在Windows系统开始那里
-
- 先安装WSL(管理员运行Windows PowerShell:wsl --update)
-
- 安装Ubuntu(管理员运行Windows PowerShell:wsl --install -d Ubuntu),运行后要设置帐号密码,注:输入密码时,密码不会显示在命令行窗口,不要惊慌,实际已设置好了。
-
- 官网下载安装Docker后注册帐号(需科学上网),在Docker软件设置里,找到“Resource”项→"WSL integration"项,将“Enable integration with my default wSL distro”打勾,将“Ubuntu”打开。后连接Docker(管理员运行Windows PowerShell:docker login)
-
- Docker是国外的软件,日常使用需加速,不加速就得科学上网(但这样不切实际),所以在Docker设置里,找到“Docker Engine”,设置Docker镜像加速代码:
注意:一个逗号都不能少,直接复制这个就可以了。
{
“builder”: {
“gc”: {
“defaultKeepStorage”: “20GB”,
“enabled”: true
}
},
“experimental”: false,
“registry-mirrors”: [
“https://dockerproxy.com ”,
“https://docker.mirrors.ustc.edu.cn ”,
“https://docker.nju.edu.cn ”
]
- Docker是国外的软件,日常使用需加速,不加速就得科学上网(但这样不切实际),所以在Docker设置里,找到“Docker Engine”,设置Docker镜像加速代码:
-
- 安装MaxKB镜像(点击Ubuntu图标后出现命令行窗口,后输入命令行:docker run -d --name=maxkb -p 8080:8080 -v /maxkb:/var/lib/postgresql/data --privileged=true 1panel/maxkb
1 个赞
将路径加上引号呢
Linux,比如centos主机重启,怎么处理
在docker run的时候 我们用到了指令```
-v ~/.maxkb:/var/lib/postgresql/data
就是做数据持久化
容器启动后检查~/.maxkb目录是否有文件 如果有就说明持久化成功
十分有用,谢谢大佬