efb-wechat-docker icon indicating copy to clipboard operation
efb-wechat-docker copied to clipboard

为docker文件挂载指定卷的问题

Open z4jst opened this issue 5 years ago • 7 comments

Hi,你好,当前的docker命令对账户的迁移不是很友好。如果重新建立docker容器的话,会导致之前做的绑定都丢失。 所以想问一下这个卷如果想指定目录应该怎么写? 假如我的 config.pytgdata.db 文件均在host/home/efb/

docker run -d -t -v /home/efb:/opt/app/ehforward_config --name "efbwechat" -e TOKEN=xxxx -e ADMIN=xxxx mikubill/efbwechat

z4jst avatar Jan 09 '20 07:01 z4jst

看起来您使用的是1.x版本的数据库和配置文件。由于本容器是基于2.x版本构建,估计需要对配置文件和数据库进行相应修改才能顺利迁移。数据库迁移可以参考:https://github.com/blueset/efb-wechat-slave/wiki/v1版本Wechat-link信息数据迁移至v2,简单处理解决方法

配置档案目录位于 /opt/app/ehforward_configt/profiles/defaulttgdata.db的位置在 /opt/app/ehforward_config/profiles/default/blueset.telegram/tgdata.db,如有需要直接挂载即可。

Mikubill avatar Jan 09 '20 08:01 Mikubill

感谢回复!问题解决。 之前的数据库是docker随机生成的,备份起来不是很友好,所以想单独进行备份。

z4jst avatar Jan 09 '20 09:01 z4jst

你好 我在host上copy了一份tdgata,放置于/home/efb/tgdata.db 并尝试了如下命令: docker run -d -t -v /home/efb/tgdata.db:/opt/app/ehforward_config/profiles/default/blueset.telegram/tgdata.db --name "efbwechat" -e TOKEN=xxxx -e ADMIN=xxxx mikubill/efbwechat efb可以正常使用,但是依旧无法恢复之前的link。想问问是哪里出问题了么。

z4jst avatar Jan 09 '20 11:01 z4jst

请问之前tgdata.db是在2.x版本的efb生成的嘛

Mikubill avatar Jan 09 '20 12:01 Mikubill

对的,大概半个月以前,git clone 了这个项目,登陆后默认生成的。

z4jst avatar Jan 09 '20 12:01 z4jst

可以试试把整个ehforward_config文件夹复制出来,然后直接挂载整个文件夹到新的容器中

Mikubill avatar Jan 09 '20 12:01 Mikubill

重新尝试了一下,现在会挂载之前备份的数据库,但是只要删除了容器后重建,所有的link均会丢失。 数据库大小会在备份的数据之上继续扩大。 不删除容器的情况下,stop、reboot 均不影响link信息。 这就很诡异了。

z4jst avatar Jan 10 '20 09:01 z4jst