docker安裝、調(diào)試qsign簽名服務(wù)器的解決方案
早前已經(jīng)將 go-cqhttp 成功部署到 Docker 環(huán)境中,但鑒于qsign簽名服務(wù)器尚未構(gòu)建,所以一直沒有將 go-cqhttp 上線測試。目前已順利完成 Docker 內(nèi) qsign 服務(wù)器的安裝工作,暫時(shí)采用 Docker 市場提供的第三方鏡像作為解決方案。未來計(jì)劃抽空自制 qsign 鏡像,以實(shí)現(xiàn)更精細(xì)的定制化控制。
1 拉取和運(yùn)行鏡像:xzhouqd/qsign:8.9.63
docker run -d --restart=always --name qsign -p 8080:8080 -e ANDROID_ID=xxxxxxx xzhouqd/qsign:8.9.63
只需要這一條命令,整個(gè) qsign 服務(wù)器就運(yùn)行起來了。參數(shù)說明:
- -d 后臺(tái)運(yùn)行
- –restart=always 服務(wù)自動(dòng)重啟
- –name asign 給容器取的名字叫做:qsign
- -p 8080:8080 端口映射,可以通過宿主機(jī)的 8080 端口訪問容器內(nèi)部的 8080 端口
- e ANDROID_ID=xxxxxxxx 環(huán)境變量,將ANDROID_ID 參數(shù)傳遞給容器
- xzhouqd/qsign:8.9.63 安裝用到的鏡像,自動(dòng)從dockerhub里拉取
2 在宿主機(jī)或局域網(wǎng)內(nèi)連接 qsign 服務(wù)器
如果你的宿主機(jī)上(不是在 docker 里)正好運(yùn)行了一個(gè) go-cqhttp 服務(wù),將該服務(wù)的配置文件修改后,即可連接并使用該簽名服務(wù)器。修改如下:
- config.yml
將 sign-servers 里主簽名服務(wù)器地址填為:宿主機(jī)IP地址,端口號(hào)為 8080,即形式為:xxx.xxx.xxx.xxx:8080,本機(jī)可直接使用 127.0.0.1:8080 即可。
圖1 修改 config.yml 文件
- device.json
請將 android_id 填入你的 ANDROID_ID, 可以根據(jù)自己的喜好填寫即可。
圖2 修改 device.json 文件
3 在宿主機(jī)里其他容器上連接 qsign 服務(wù)器
容器之間相互調(diào)用,就可以用 docker-compose 腳本來實(shí)現(xiàn),將兩個(gè)容器編排在一個(gè)文件里,以虛擬網(wǎng)絡(luò)link的方式即可實(shí)現(xiàn)容器之間進(jìn)行網(wǎng)絡(luò)互訪。
編輯 docker-compos.yml 文件,內(nèi)容如下:
version: "3.5" # 使用版本 3.5 services: # 服務(wù)列表 cqhttp: # go-cqhttp 服務(wù) container_name: cqhttp # 指定容器名稱 image: go-cqhttp-alpine:0.0.1 # 使用的鏡像名稱 networks: # 本容器加入的網(wǎng)絡(luò),可以是多個(gè) - my_network links: # 連接到其他的容器的列表,此處表示 cqhttp 容器會(huì)放翁 qsign 容器 - qsign qsign: # qsign 服務(wù) container_name: qsign # 指定容器名稱 image: xzhouqd/qsign:8.9.63 # 使用的鏡像名稱 ports: # 鏡像端口列表 - 8080:8080 environment: # 環(huán)境變量,會(huì)傳遞到容器里 ANDROID_ID: xxxxxx # 填入你想使用的ID,可以是昵稱、手機(jī)號(hào)啥的,都可以 networks: # 本容器加入的網(wǎng)絡(luò),可以是多個(gè) - my_network networks: my_network: name: my_network
在 docker-compos.yml 文件所在目錄下,使用終端輸入命令:
docker-compose up -d
4 應(yīng)用效果
圖3 應(yīng)用效果-1
上圖中,紅框內(nèi)的內(nèi)容沒明白是什么意思,不知道是不是 go-cqhttp 的 bug,但似乎不影響使用。
圖4 應(yīng)用效果-2
從上圖可以看到,收到了群里發(fā)來的消息,但目前只能“聽”,不能“說”。
5 擴(kuò)展
5.1 go-cqhttp 和 qsign 是分開還是合在一個(gè)docker里
一般建議將go-cqhttp和qsign分開部署在不同的Docker容器中,以保持系統(tǒng)的模塊化、易維護(hù)性、資源隔離和故障隔離優(yōu)勢,更關(guān)鍵還有就是容易擴(kuò)充和分布式部署,滿足負(fù)載均衡的需要。
只有當(dāng)兩個(gè)服務(wù)間存在極為緊密的關(guān)聯(lián),資源需求高度一致,且通信效率要求極高時(shí),才考慮將其合并部署在同一容器內(nèi)。實(shí)際決策應(yīng)依據(jù)具體項(xiàng)目需求、資源狀況和運(yùn)維策略來確定。
此處我們決定采用分離的方式。
5.2 將dockerhub里的鏡像存儲(chǔ)到本地
對于比較難找的鏡像,為了便于以后加載使用,避免出現(xiàn)上傳用戶刪除鏡像導(dǎo)致以后找不到該鏡像的情況,所以需要將鏡像保存到本地。
- 保存鏡像
使用 docker save 命令:
docker save -o xzhouqd_qsign_8.9.63.tar xzhouqd/qsign:8.9.63
保存的文件名為:xzhouqd_qsign_8.9.63.tar,文件還是不小的,達(dá)到500多兆。
- 加載鏡像
使用 docker load 命令:
docker load -i xzhouqd_qsign_8.9.63.tar
使用 load 加載后,鏡像就會(huì)出現(xiàn)在docker 鏡像列表里了。
參考文章(致謝)
Linux服務(wù)器下 簽名服務(wù)器+Mirai部署 詳細(xì)教程
使用qsign解決gocq啟動(dòng)code45報(bào)錯(cuò) - 知乎
到此這篇關(guān)于docker安裝、調(diào)試qsign簽名服務(wù)器的文章就介紹到這了,更多相關(guān)docker qsign簽名服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解docker 容器不自動(dòng)退出結(jié)束運(yùn)行的方法
本文主要簡單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運(yùn)行。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01使用Docker部署Gitblit服務(wù)器的詳細(xì)指南
Gitblit 是一個(gè)完全開源的純 Java 軟件,專注于為 Git 提供一個(gè)全面的解決方案,本文為大家整理了Docker部署Gitblit服務(wù)器的詳細(xì)步驟,希望對大家有所幫助2025-04-04Docker安裝部署Mysql8的過程(以作數(shù)據(jù)持久化)
這篇文章主要介紹了Docker安裝部署Mysql8(以作數(shù)據(jù)持久化),首先創(chuàng)建容器并進(jìn)行持久化處理,接著配置遠(yuǎn)程連接并嘗試,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09創(chuàng)建的docker容器時(shí)間顯示錯(cuò)誤/date錯(cuò)誤/時(shí)區(qū)錯(cuò)誤
這篇文章主要介紹了創(chuàng)建的docker容器時(shí)間顯示錯(cuò)誤/date錯(cuò)誤/時(shí)區(qū)錯(cuò)誤的處理方法,一起看看吧2017-06-06docker?run容器運(yùn)行的方法實(shí)現(xiàn)
本文主要介紹了docker?run容器運(yùn)行的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06在Linux Ubuntu系統(tǒng)上使用Docker部署Android模擬器的操作指南
大家好,今天要給大家?guī)硪粋€(gè)超級實(shí)用的教程:如何在Linux Ubuntu系統(tǒng)上使用Docker部署Android模擬器,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具實(shí)現(xiàn)遠(yuǎn)程訪問,需要的朋友可以參考下2025-03-03Docker教程之dockerfile構(gòu)建centos鏡像
這篇文章主要介紹了Docker教程之dockerfile構(gòu)建centos鏡像的相關(guān)資料,需要的朋友可以參考下2022-11-11Gitlab-runner+Docker實(shí)現(xiàn)自動(dòng)部署SpringBoot項(xiàng)目
這篇文章主要介紹了Gitlab-runner+Docker自動(dòng)部署SpringBoot項(xiàng)目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進(jìn)行注冊綁定,需要的朋友可以參考下2022-04-04docker容器狀態(tài)轉(zhuǎn)換管理命令實(shí)例詳解
Docker容器只是一個(gè)運(yùn)行于宿主操作系統(tǒng)host?OS上的應(yīng)用進(jìn)程,所以你需要一個(gè)鏡像來運(yùn)行它,Docker鏡像以進(jìn)程的方式運(yùn)行時(shí)就叫做Docker容器,這篇文章主要給大家介紹了關(guān)于docker容器狀態(tài)轉(zhuǎn)換管理命令的相關(guān)資料,需要的朋友可以參考下2022-05-05