请注意,本贴仅为曾使用docker部署过酷Q且有一点linux基础的用户提供半自动化的技术支持
请注意,出现报错请先进行搜索引擎搜索,请先进行搜索引擎搜索,请先进行搜索引擎搜索,搜完后无法解决在这里提问请附上相关截图

为什么是半自动化,因为不想写dockerfile,如果感兴趣的,欢迎将本贴写成dockerfile

整合包版本:

  • mirai-native-1.8.1
  • Dice ver2.4.1beta1(565)
mirai-for-docker.7z
59.5MB

目前存在的问题

0×0. 中文名牌堆加载乱码且无法使用

解决方式

修改文件名为全字母即可

开始:

FROM msjpq/wine-vnc:bionic

docker pull msjpq/wine-vnc:bionic

docker run --name=miraiDice -p 8080:8080 -p 5900:5900 -e ROOT_PASSWORD=123456 -v
home/mirai:/root/Desktop/mirai msjpq/wine-vnc:bionic

感谢@twfx1207 的建议,现将启动方式进行修改:
在/home下创建文件夹mirai,将整合包解压后上传,修改docker-compose.yml内的设置进行自定义,然后进入/home/mirai下使用docker-compose -f docker-compose.yml up -d来启动容器

详细参数可以点击上方链接进行查看

等待片刻,然后在浏览器输入你的公网ip:8080 (请务必记得在云服务器上打开这个你自己设定的端口)

然后可以看见桌面:

这时候请下载整合包,解压后上传到你的服务器的/home/mirai文件夹(文件夹自定义,但请与前面docker run时的目录一致)
上传完毕后可以在桌面打开mirai文件夹,第一次打开可能需要你选择打开的方式,如图选择:

接下来双击打开miraiOK_windows_386.exe(溯洄洄整合包中的miraiOK.exe会报错,所以这里使用原版的启动器),第一次可能比较慢,请勿重复点击,接着会弹窗让你进行安装:

点击安装,等待片刻

安装完毕后就会弹窗:


接下来编辑config.txt就可以进行登陆,第一次登陆会弹窗需要输入验证码:

将这个链接Ctrl+A全选后Ctrl+C,但是此时还不能直接在外部进行粘贴,需要在旁边的工具栏里的剪切板再复制链接到外部的浏览器:

锁屏

最后,使用开始菜单的Leave标签下的Lock来进行锁屏,下次输入你开始在启动docker容器时设置的密码即可解锁

PS:后续移植数据与windows下一致

    docker虽好,但是mirai这么个java写的库在linux上还需要wine来支持mirai-native,着实有点难受

    另外关于乱码问题,在加载docker的时候设定一下环境变量就可以正常读取牌堆了(虽然wine里还是乱码……)
    docker-compose.yml:

    version: '3'
    services:
      mirai:
        image: msjpq/wine-vnc:bionic
        container_name: mirai
        ports:
          - 9000:8080
        environment:
          - LANG=zh_CN.UTF-8
          - LC_ALL=zh_CN.UTF-8
          - TZ=Asia/Shanghai
        volumes:
          - ./mirai:/root/Desktop/mirai
        restart: always

    小黑 /home/mirai文件夹你可以替换为其他的路径,相当于原来的coolq-data,所以直接将解压后的文件放入这个文件夹就行,你在启动容器前必须先创建好这个文件夹

    小黑 将标题更改为 「【技术贴】Mirai的docker部署」。

    Wine下的MiraiOK乱码其实是因为Wine的兼容层对没GUI程序中文的支持不太友好造成的,我有一个临时的解决方案:
    使用Winecmd程序运行MiraiOK就可以正常显示了,指令也可以正常交互,直接在终端进入Dice的一键包按下面操作就可以了
    1.Wine cmd
    2.MiraiOK.exe

    效果就是下面的图,左侧是终端使用WineCMD运行的右边是Wine直接运行的!
    一般用Wine挂Dice娘估计也不需要交互,交给MiraiOK的配置文件自动登陆就可以了,后台也就看个日志,可以按上面的方法写个bat文件在一键包的目录,每次运行时用下面的指令就可以啦owo
    Wine cmd < %你编写的BAT%.bat
    要有那个大佬有更好的解决方案@我一下我也想探讨探讨QAQ

      XiaSweet 嗯,你提醒了我,本来想着没啥中文的需求就算了,那么想解决的话安装下字体就行了
      下载这个宋体与注册表

      simsun.ttc
      17MB
      zh.reg
      703B

      然后将这个文件上传到你服务器上设置好的mirai文件夹,接下来可以进入容器交互界面或者打开远程桌面上的Konsole终端

      cd ~/Desktop/mirai
      mkdir ~/.wine/drive_c/windows/Fonts
      cp ./simsun.ttc ~/.wine/drive_c/windows/Fonts
      wine regedit zh.reg

      然后关掉mirai重开应该就行了
      经测试,此种方式也只能让你看终端时有中文而已,牌堆加载还是得修改为英文字母的才可以使用

      2 个月 后

      感谢大佬撰写docker相关的指南!但在配置context.txt之后,我重启miraiOK_windows_386.exe时出现问题:悬浮窗无内容,右键也无法启用dice!插件:

      Terminal界面没有出现任何报错信息。生成的log中提到“无法下载Mirai版本信息”“无法下载MiraiOK版本信息”:

      在论坛搜索相关帖子未果,不得已回帖打扰大佬,麻烦了不好意思。我想知道可能是哪里有问题?

      说点什么吧...