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

  1. 1. 准备工作
  2. 2. 部署Docker环境
    1. 2.1. 有两种方法
      1. 2.1.1. 利用宝塔面板一键安装
      2. 2.1.2. 通过yum安装
  3. 3. 下载酷Q镜像并运行
  4. 4. 其他
  5. 5. 报错排除
    1. 5.1. 第一类
    2. 5.2. 第二类
    3. 5.3. 第三类
    4. 5.4. 第四类

此文章所有内容均已失效
感谢酷Q这些年来的陪伴,愿能在更开放的平行世界相遇

酷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
2
3
4
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 镜像,然后等待下载完毕。

1
docker pull coolq/wine-coolq

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

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

运行 酷Q on Docker 镜像

1
2
3
4
5
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请在命令行键入如下代码

1
2
3
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload
# 其中9000为映射到外部的端口,可修改。

阿里云防火墙放行端口

宝塔面板放行端口

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

VNC连接页面

酷Q界面

其他

启动/停止服务

1
2
docker start coolq
docker stop 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
2
3
4
5
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 镜像并且已经是最新的了,无需再次下载。

第三类

1
2
/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'.

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

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

如果想重新运行

1
docker restart 容器名

第四类

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

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