话不多说直接开整,以下内容基于 ubuntu 20.04 LTS ARM,其他架构请忽略本文
1. build docker镜像
使用巨硬官方的 dockerfile ,安装 chromium 和依赖库,设置时区,为了节省镜像空间,并未打包 nolanjdc 源码
# vim Dockerfile
ARG REPO=mcr.microsoft.com/dotnet/runtime
# Installer image
FROM arm64v8/buildpack-deps:bullseye-curl as installer
# Retrieve ASP.NET Core
RUN curl -fSL --output aspnetcore.tar.gz https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/5.0.13/aspnetcore-runtime-5.0.13-linux-arm64.tar.gz \
&& aspnetcore_sha512='757ccf8a453d8cc9075a438d02bf95bb6d3738651100de8d4ae842a97dc10d8d7507597ec9d2806a3140d8000faec602748b4585b0a644816c74ebbf7ab98719' \
&& echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \
&& tar -ozxf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \
&& rm aspnetcore.tar.gz
# ASP.NET Core image
FROM $REPO:5.0.13-bullseye-slim-arm64v8
ENV ASPNET_VERSION=5.0.13
COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"]
#以下使我增加内容,设置时区,安装chromium,设置工作区
RUN apt update \
&& apt install chromium libgdiplus -y \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo Asia/Shanghai > /etc/timezone \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* \
&& ln -s /usr/bin/chromium /usr/bin/chromium-browser \
&& ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
WORKDIR /root/nolanjdc
使用以下命令 build 镜像
# docker build -t nolanjdc:arm .
编译完成后查看镜像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nolanjdc arm 5023a36fb9cb 11 minutes ago 909MB
2.安装 docker-compose
使用 docker-compose可以很方便的管理多个容器,使用以下命令安装 docker-compose
# apt install python-pip
# apt install libssl-dev libffi-dev
# pip install docker-compose
3. 拉取 nolanjdc 源码
Config.json 配置请按需修改,主要注意 "Captchaurl": "http://nvjdccaptcha:5000"
# git clone 大佬已经跑路,原项目地址已经被李鬼抢占,请勿使用。.git /root/nolanjdc
#新建修改配置文件
# mkdir -p Config && cd Config
# vim Config.json
{
///浏览器最多几个网页
"MaxTab": "4",
//网站标题
"Title": "NolanJDCloud",
//回收时间分钟 不填默认3分钟
"Closetime": "5",
//网站公告
"Announcement": "为提高账户的安全性,请关闭免密支付。",
//Opencv镜像地址 刚刚镜像的地址
"Captchaurl": "http://nvjdccaptcha:5000",
///开启打印等待日志卡短信验证登陆 可开启 拿到日志群里回复 默认不要填写
"Debug": "",
///自动滑块次数5次 5次后手动滑块 可设置为0默认手动滑块
"AutoCaptchaCount": "0",
///XDD PLUS Url http://IP地址:端口/api/login/smslogin
"XDDurl": "",
///xddToken
"XDDToken": "",
///登陆预警 0 0 12 * * ? 每天中午十二点 https://www.bejson.com/othertools/cron/ 表达式在线生成网址
"ExpirationCron": " 0 0 12 * * ?",
///个人资产 0 0 10,20 * * ? 早十点晚上八点
"BeanCron": "0 0 10,20 * * ?",
// ======================================= WxPusher 通知设置区域 ===========================================
// 此处填你申请的 appToken. 官方文档:https://wxpusher.zjiecode.com/docs
// WP_APP_TOKEN 可在管理台查看: https://wxpusher.zjiecode.com/admin/main/app/appToken
// MainWP_UID 填你自己uid
///这里的通知只用于用户登陆 删除 是给你的通知
"WP_APP_TOKEN": "",
"MainWP_UID": "",
// ======================================= pushplus 通知设置区域 ===========================================
///Push Plus官方网站:http: //www.pushplus.plus 只有青龙模式有用
///下方填写您的Token,微信扫码登录后一对一推送或一对多推送下面的token,只填" "PUSH_PLUS_TOKEN",
"PUSH_PLUS_TOKEN": "",
//下方填写您的一对多推送的 "群组编码" ,(一对多推送下面->您的群组(如无则新建)->群组编码)
"PUSH_PLUS_USER": "",
///青龙配置 注意对接XDD 对接芝士 设置为"Config":[]
"Config": [
{
//序号必填从1 开始
"QLkey": 1,
//服务器名称
"QLName": "阿里云",
//青龙地址
"QLurl": "http://ip:5700",
//青龙2,9 OpenApi Client ID
"QL_CLIENTID": "",
//青龙2,9 OpenApi Client Secret
"QL_SECRET": "",
//CK最大数量
"QL_CAPACITY": 99,
///建议一个青龙一个WxPusher 应用
"WP_APP_TOKEN": ""
}
]
}
4.创建 docker-compose 文件并启动容器
新建文件docker-compose.yaml
# vim docker-compose.yaml
version: '3.7'
services:
nvjdccaptcha:
image: nolanhzy/nvjdccaptcha:arm
container_name: nvjdccaptcha
restart: always
privileged: true
nolanjdc:
image: nolanjdc:arm
container_name: nolanjdc
restart: always
ports:
- "5701:5701" #映射本地端口到容器
volumes:
- "/root/nolanjdc:/root/nolanjdc" #映射本地本地目录到容器
command: /bin/bash -c "dotnet NETJDC.dll --urls=http://*:5701 1>log"
启动
# docker-compose up -d
查看启动后的容器
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f24de50cc09d nolanjdc:arm "/bin/bash -c 'dotne…" 31 minutes ago Up 31 minutes 127.0.0.1:5701->5701/tcp nolanjdc
67cc8d7973e1 nolanhzy/nvjdccaptcha:arm "python3 server.py" 31 minutes ago Up 31 minutes nvjdccaptcha
5.页面访问测试
我加了 nginx 反代
登录成功后如下图:
感谢分享,插眼学习