CentOS部署Docker环境,安装酷Q on Docker
此文章所有内容均已失效
愿能在更开放的平行世界相遇
酷Q是一款大家熟知的QQ机器人,由于本体是基于windows系统研发的,所以Linux/MacOS用户不能直接运行。好在官方发布了Docker镜像, 并且也基于wine技术,因此我们可以利用Docker和wine来运行酷Q。
酷Q on Docker 基于的是 Docker 和 wine 技术 ,由于wine相对于windows仍然有差距,因此可能会出现部分应用不兼容的情况。
准备工作
CentOS 7、宝塔面板(可选)
部署Docker环境
有两种方法
利用宝塔面板一键安装
宝塔面板可直接在应用商店中安装
通过yum安装
安装所需的软件包,yum-util 提供yum-config-manager功能,device mapper 则需要 device-mapper-persistent-data 和 lvm2
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
设置yum稳定源
1 | sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
安装最新版Docker和容器
1 | sudo yum install docker-ce docker-ce-cli containerd.io |
出现client和service即表示已安装和启动成功
下载酷Q镜像并运行
安装完Docker后,在命令行键入以下命令下载 酷Q on Docker 镜像,然后等待下载完毕。
1 | docker pull coolq/wine-coolq |
下载完毕后, 我们在任意目录创建一个空文件夹,用于存放酷Q数据
1 | mkdir /coolq-data # 任意目录均可 |
运行 酷Q on Docker 镜像
1 | sudo docker run --name=coolq -d -p 9000:9000 -v /coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=100000000 coolq/wine-coolq |
注意事项
如果你用的是阿里云的主机,不要忘记在防火墙放行你映射到外部的端口。
如果还装有宝塔面板的话,也请同时放行端口。
未安装宝塔面板的CentOS7请在命令行键入如下代码
1 | firewall-cmd --zone=public --add-port=9000/tcp --permanent |
阿里云防火墙放行端口
宝塔面板放行端口
在浏览器中访问 http://你的服务器IP:你映射到外部的端口,即可进入NoVNC登录页面。输入VNC密码,即可看到酷Q的登录界面。
VNC连接页面
酷Q界面
其他
启动/停止服务
1 | docker start coolq |
查看运行状况
1 | docker logs coolq |
插件目录(可能有差异)
此截图为Xfce桌面
报错排除
第一类
1 | /usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"". |
查看你当前的内核版本
1 | uname -r |
确保yum包更新到最新
1 | sudo yum update |
再次启动docker就会发现报错被解决了。
1 | systemctl restart docker |
第二类
1 | using default tag: latest |
你已经下载过 酷Q on Docker 镜像并且已经是最新的了,无需再次下载。
第三类
1 | /usr/bin/docker-current: Error response from daemon: Conflict. The container name "/coolq" is already in use by container 51e28beb21672e119b9c817ef5028c1fadf7222ac0c6527f3eb7c8ca9bdc5233. You have to remove (or rename) that container to be able to reuse that name.. |
容器名已经存在,如果不需要请删除。
1 | docker ps # 查看已运行的容器 |
如果想重新运行
1 | docker restart 容器名 |
第四类
wine组件不完整,通过Winetricks 安装 msscript 及 winhttp 组件即可解决(容器内)
1 | wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks |