CentOS部署Docker环境,安装酷Q on Docker

提醒:本文编写于 203 天前,最后更新于 93 天前,其中某些信息可能已经过时

酷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

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum稳定源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装最新版Docker和容器

sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker # 启动docker
sudo systemctl enable docker # 加入开机启动
docker version # 验证版本,是否安装成功

 


出现client和service即表示已安装和启动成功

 

下载酷Q镜像并运行

安装完Docker后,在命令行键入以下命令下载 酷Q on Docker 镜像,然后等待下载完毕。

docker pull coolq/wine-coolq

下载完毕后, 我们在任意目录创建一个空文件夹,用于存放酷Q数据

mkdir /coolq-data # 任意目录均可

运行 酷Q on Docker 镜像

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
# -p 将内部运行端口9000映射到外部的9000,可修改。
# -v 将内部酷Q及数据文件夹/coolq-data映射到外部的/home/user/coolq文件夹,可修改。
# VNC_PASSWD为VNC远程访问密码,请自行设置,不能超过8个字符。
# COOLQ_ACCOUNT为要登录酷Q的机器人帐号。

注意事项

如果你用的是阿里云的主机,不要忘记在防火墙放行你映射到外部的端口。
如果还装有宝塔面板的话,也请同时放行端口。
未安装宝塔面板的CentOS7请在命令行键入如下代码
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload
# 其中9000为映射到外部的端口,可修改。

阿里云防火墙放行端口

 

宝塔面板放行端口

 

在浏览器中访问 http://你的服务器IP:你映射到外部的端口,即可进入NoVNC登录页面。输入VNC密码,即可看到酷Q的登录界面。

VNC连接页面

 

酷Q界面

 

其他

启动/停止服务

docker start coolq
docker stop coolq

查看运行状况

docker logs coolq

插件目录(可能有差异)

此截图为Xfce桌面

 

报错排除

第一类

/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.\"".

查看你当前的内核版本

uname -r

确保yum包更新到最新

sudo yum update

再次启动docker就会发现报错被解决了。

systemctl restart docker

第二类

using default tag: latest
Trying to pull repository docker.io/coolq/wine-coolq ... 
latest: Pulling from docker.io/coolq/wine-coolq
Digest: sha256:ebd69fe21650aea4083bc1e4067b0a7fa89c4e28ea9ab7c3663cac296445e8b0
Status: Image is up to date for docker.io/coolq/wine-coolq:latest

你已经下载过 酷Q on Docker 镜像并且已经是最新的了,无需再次下载。

第三类

/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..
See '/usr/bin/docker-current run --help'.

容器名已经存在,如果不需要请删除。

docker ps # 查看已运行的容器
docker ps -a # 查看已退出的容器
docker rm 该容器ID或名称

如果想重新运行

docker restart 容器名

第四类

wine组件不完整,通过Winetricks 安装 msscript 及 winhttp 组件即可解决(容器内)

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sh winetricks msscript winhttp

点赞
  1. avatar 萌新说道:

    噔噔咚

发表评论

电子邮件地址不会被公开。必填项已用 * 标注