HimitZH / HOJ

⚡🔥Hcode Online Judge(HOJ)🔥⚡:基于SpringCloud与Vue前后端分离,分布式架构的在线测评平台OJ (An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !)
https://docs.hdoi.cn
MIT License
677 stars 148 forks source link

Arm64 Support? #25

Closed beiyanpiki closed 1 year ago

beiyanpiki commented 1 year ago

您好,我想问一下是否考虑编译Arm64的docker镜像?

因为sandbox支持arm64,我通过HOJ-Deploy仓库自己改了一下Dockerfile编译了arm64的镜像,并且已经持续稳定的运行了一年,希望能发布一下官方的镜像,不然每次修改源码后需要自己重新编译还挺麻烦的

HimitZH commented 1 year ago

很抱歉,我没有ARM64的机器用于编译镜像,理论上并不难,用HOJ-Deploy仓库直接打包镜像即可

beiyanpiki commented 1 year ago

docker可以使用buildx进行交叉编译,只需要将判题核心更改为arm版本即可,如果没有发布arm64 official image的想法就算了

HimitZH commented 1 year ago

可以的,我尝试下用buildx构造arm的镜像64

HimitZH commented 1 year ago

已经支持arm64的了 只要类似将image: registry.cn-shenzhen.aliyuncs.com/hcode/***改为image: himitzh/***即可

HimitZH commented 1 year ago

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

beiyanpiki commented 1 year ago

Great, 非常感谢😊

beiyanpiki commented 1 year ago

镜像编译tag打错了 himitzh/hoj_judegserver-> himitzh/hoj_judgeserver

HimitZH commented 1 year ago

镜像编译tag打错了 himitzh/hoj_judegserver-> himitzh/hoj_judgeserver

还真是写错了 我有空再重新编译一次 重新生成正确的name

jefferymvp commented 3 months ago

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

beiyanpiki commented 3 months ago

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

nacos/nacos-server:1.4.2 -> centralx/nacos-server:1.4.2

jefferymvp commented 3 months ago

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

nacos/nacos-server:1.4.2 -> centralx/nacos-server:1.4.2

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

nacos/nacos-server:1.4.2 -> centralx/nacos-server:1.4.2

首先感谢提供了新的镜像 改成此镜像后,nacos可以正常启动了,但hoj_judgeserver则一直显示”health:starting"的状态,前台显示“服务器错误,请重新刷新”,/api/login也是“502 Bad Gateway”,http://xxx:8848/nacos登录,root/hoj123456的默认用户也提示错误登录不进去,有的排查不。。。

jefferymvp commented 3 months ago

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

nacos/nacos-server:1.4.2 -> centralx/nacos-server:1.4.2

具体可以看最新的docker-compose.yml文件:https://gitee.com/himitzh0730/hoj-deploy/blob/master/standAlone/docker-compose.yml

其他的没问题了,但nacos/nacos-server:1.4.2没有arm镜像,我用slim版本替代,但无法正常启动,请问怎么处理

nacos/nacos-server:1.4.2 -> centralx/nacos-server:1.4.2

首先感谢提供了新的镜像 改成此镜像后,nacos可以正常启动了,但hoj_judgeserver则一直显示”health:starting"的状态,前台显示“服务器错误,请重新刷新”,/api/login也是“502 Bad Gateway”,http://xxx:8848/nacos登录,root/hoj123456的默认用户也提示错误登录不进去,有的排查不。。。

问题已经解决了,就是nacos数据库中没有录入配置,不明白为什么要留个这个问题,还是说只有arm系统有这个问题,折腾的人够呛,nacos的用户名密码按照默认即root/hoj123456,入库需要作bcrypt加密 将下面的内容保存到addrole.py中,再执行python3 addrole.py即可 import pymysql db = pymysql.connect(host='localhost',user='root',password='hoj123456',database='nacos')

print(db.ping())

db.close()

try: with db.cursor() as cursor:

执行SQL查询,获取所有表的名称

    cursor.execute("delete from users where username='root'")
    cursor.execute("insert into users values('root','$2a$10$Zzg/o2Fo9QWJdzp.ze8Lo.ZhiLuiEMxZ4gPIENfdLj89CizxgFPmq',true);")
    cursor.execute("insert into roles(username,role) values ('root','ROLE_ADMIN');")
    cursor.execute("commit;")

    # 获取所有表的名称
    tables = cursor.fetchall()

    # 打印所有表的名称
    for table in tables:
        print(table[0])

finally: db.close() # 关闭数据库连接