Linux通过docker安装运行酷Q

文:铁乐与猫

需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君。
限制:我个人的云计算服务器都是Linux的,所以不能直接用普通青年在windows服务器上安装酷Q的简单方法。
环境:centos7.4、docker、酷Q容器
酷Q on Docker 基于 Docker 和 wine 技术,具体官方链接https://cqp.cc/t/34558

1、安装及运行docker

sudo yum install docker
yum安装完docker后,直接运行命令会报还没有连接上docker。
[yunwei_wwz@tielemao ~]$ docker info
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
这是因为docker还没有在运行。
sudo运行一下docker就正常了。
sudo systemctl start docker

2、下载酷Q镜像,后台运行容器。

sudo docker pull coolq/wine-coolq
下载花的时间还是蛮久的,可能是因为我的ecs宽带只有1M。而这个镜像大小大概会有1.33G大小。

查看酷Q镜像详情:
[yunwei_wwz@tielemao ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/coolq/wine-coolq latest b8ae73a8fe42 4 months ago 1.324 GB

创建一个用于存放(映射)coolq数据的目录(可以理解为数据卷?),用于持久化存放coolq(酷Q应用)的数据。
sudo mkdir /coolq-data
这一步很重要,因为数据是最重要的,而且后面你的酷Q应用都要上传到此目录才能应用上的。

后台运行酷Q容器:

//-----------------后台运行-------------------------------
sudo docker run --name=coolq -d -p 8080:9000 -v /coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=1000000000 coolq/wine-coolq
-----------------------------------------------------------//

其中部分参数根据自己的需求替换:

远程监听端口
8080(9000映射成8080)
数据存放位置
/coolq-data(/home/user/coolq 映射到/coolq-data)
远程访问密码
12345678(只能设8位)
机器人 QQ 帐号
1000000000

实际上我当然运行的参数不是上面那些示例参数。根据自己的服务器实际来。
这里要注意的是,首先你远程监听的端口,也就是自定义的web端口需要在服务器防火墙和云安全组都放行。
其次,-d 指的是后台运行容器,-v后面接的就是将服务器的自己定义的coolq数据目录映射到容器内的/home/user/coolq目录,-e是设置容器的系统环境。
因为我们后面要通过vnc连接,所以要指定VNC_PASSWD。
而酷Q要登录的qq小号(充当机器人)也可以通过-e COOLQ_ACCOUNT 去指定。

3、登录vnc进行酷Q操作。

在浏览器中访问 http://你的服务器IP:你定义的web端口 即可看到noVNC远程操作登录页面,逼格顿时很高有没有。

点击Connect进行连接,在弹出的密码框中输入密码,可以看到 酷Q Air 的登录界面。
随后的操作就是用小号登录上去。

在登录后,右键点击悬浮窗 -> 你的 QQ 昵称 -> 勾选「开机启动」和「快速登录」,即可保证 酷Q 能自动登录。

那个悬浮图标在图中已完全被菜单遮住。

平时对应用的管理同样是在酷Q的应用菜单-应用管理和应用目录中。

4、如何上传你想安装的酷Q的应用到容器中。

细心的朋友可能发现我在前面已经提到过,在centos服务器上做了一个对酷Q容器/home/user/coolq的映射,映射到了docker宿主上的/coolq-data
所以你可以在centos宿主机上cd进/coolq-data目录,再rz等方式上传就可以了,是实时能在酷Q web上的vnc窗口能看到变化的,
不过上传后还需要重新再登录酷Q再进应用管理才看得到新上传的应用去启用。

另外注意的是上传的文件记得修改一下属主和属组统一比较好。像我的服务器上的属主和权限就是如图:

属主和属组分别是systemd-bus-proxy ssh_keys。

5、用于跑团投骰的应用设置

这个其实你在下载的时候就有发布人的文档说明了。
仔细看再对着做就是了。
基本这几点做完,就可以很愉快的在QQ群或讨论组里应用上了。如图:

END
2018-1-5

Linux通过docker安装运行酷Q--用QQ骰子君进行跑团的更多相关文章

  1. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  2. 【Linux】【自学笔记】Linux下面docker安装mysql

    写在前面: 捣腾继续,之前把一个SpringBoot的程序安装在docker上面,参考链接:https://www.cnblogs.com/aki-stones/p/2019-11-01-note.h ...

  3. docker 安装 运行 卸载

    一.卸载docker 安装时使用什么工具安装的docker就用什么工具卸载docker: 1.yum卸载docker 查看已安装的docker yum list installed | grep do ...

  4. Linux、Docker安装Nginx

    Docker安装Nginx #docker images nginx #docker search nginx #docker pull nginx #docker run -it -p 8084:8 ...

  5. Linux下docker安装教程

    目前最新版本的docker19.03支持nvidia显卡与容器的无缝对接,从而摆脱了对nvidia-docker的依赖.因此毫不犹豫安装19.03版本的docker,安装教程可参考官方教程Centos ...

  6. linux上Docker安装gogs私服亲测(详解)

    一.前言 有网友问我为什么要使用私服,可能大部分人都不是太懂,网上那么多存储仓库而且好用方便,但是你想过没有如果企业中的项目,放在人家的仓库上这个安全性不是太好,所以说一般企业都会有自己的私服.本章教 ...

  7. linux下redis安装运行教程——redis系列

    天没降大任于我,照样苦我心智,劳我筋骨. 安装运行的过程 由于官网太慢,csdn里的资源又要钱,所以呢,只能使用我自己本地以前下载的陈年..哦不,3.xredis安装包 资源已经放到百度云,需要的可以 ...

  8. 使用 Linux Centos Docker 安装 2Bizbix

    在 Docker 安装 2Bizbix 安装 Centos 7 安装 mysql5.5 镜像 映射好数据库的配置文件和数据库目录 在 Windows 安装 2Bizbox 安装 jboss/base- ...

  9. Linux下Docker安装

    1 在 CentOS 6.4 上安装 docker   docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172).   docker官方文档说要求 ...

随机推荐

  1. Beta阶段——Scrum 冲刺博客第四天

    一.当天站立式会议照片一张 二.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中 昨天已完成的工作 完成对question界面的制作,完善随机出题界面,能够流畅的切换下一题与 ...

  2. RabbitMQ上手记录–part 3-发送消息

    接上一part<<RabbitMQ上手记录–part 2 - 安装RabbitMQ>>,这里我们来看看如何通过代码实现对RabbitMQ的调用. RabbitMQ通常是安装在服 ...

  3. Dubbo2.7源码分析-如何发布服务

    Dubbo的服务发布逻辑是比较复杂的,我还是以Dubbo自带的示例讲解,这样更方便和容易理解. Provider配置如下: <?xml version="1.0" encod ...

  4. sql中同一个表一个字段的值赋值给另一个字段

    UPDATE SG_User   SET DefaultOrganizationID = OrganizationID

  5. Pivot

    测试数据 Create Table TPivot ( ID ,), ProductName ), SalesMonth int, SalesCount int ) insert into TPivot ...

  6. emberjs 循环中设置model的不同属性值

    //var grades = ['1', '2', '3', '4', '7', '8', '9']; ']; grades.forEach(function (item) { App.Templat ...

  7. [javaSE] 网络编程(TCP通信)

    客户端A与服务端建立通信,服务端获取到客户端A的Socket对象,通过这个通路进行通信 客户端: 获取Socket对象,new出来,创建客户端的Socket服务,构造参数:Sting主机,int 端口 ...

  8. WebApiTestHelpPage

    这是个什么鬼,第一次见到的时候,我也不知道就花几天时间看了下它的代码 在网上搜索WebApiTestHelpPage会出来很多相关页面   但是它们都是介绍怎么用的,要么就是怎么添加注释   它是怎么 ...

  9. 数组元素的移动(删除) C#实现

    下面有四个问题: 把数组元素前后部分交换 MoveFirstPartOfArrayToTheEnd(int[] array, int index) 比如 {1,2,3,4,5,6,7} 3  => ...

  10. 动态We API层(动态生成js)

    ABP动态webapi前端怎么调用? 研究abp项目时,页面js文件中一直不明白abp.services... 是从哪里来的 在调试SimpleTaskSystem的AngularJs demo时,一 ...