docker 镜像的平台与主机的平台不匹配,如何解决?
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested请问大家有什么解决方案吗?
上一次我其实没有得到解决,上次自己搭镜像的方法太麻烦,而且又不对,该怎么办呢?
让我们,重来一遍。 要么就换一个使用amd架构cpu的服务器,要么就只能自己编译镜像了
isdkz 发表于 2023-6-29 20:02
要么就换一个使用amd架构cpu的服务器,要么就只能自己编译镜像了
啊?
服务器我肯定是换不了,这样就真的完全没有别的方法了吗 >_< zhangjinxuan 发表于 2023-6-29 20:45
啊?
服务器我肯定是换不了,这样就真的完全没有别的方法了吗 >_
那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过程的命令发给你吧
如果遇到问题再问我,命令的详细解释就不写了,想知道命令什么意思可以问chatgpt
git clone https://gitee.com/Hoo1941/UOJ-System.git
cd UOJ-System
sed -i 's|https://github.com/UniversalOJ/UOJ-System.git|https://gitee.com/Hoo1941/UOJ-System.git|g' install/bundle/Dockerfile install/judger/Dockerfile install/web/Dockerfile
sed -i '/apt/d' install/db/Dockerfile
sed -i 's|https://raw.githubusercontent.com/UniversalOJ/UOJ-System/master|https://gitee.com/Hoo1941/UOJ-System/raw/master/|' install/db/Dockerfile
docker build -t universaloj/uoj-system:db install/db/
sed -i '5iRUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list' install/web/Dockerfile install/judger/Dockerfile
docker build -t universaloj/uoj-system:web install/web/
docker build -t universaloj/uoj-system:judger install/judger/
docker-compose -f install/compose/docker-compose.yml up -d
isdkz 发表于 2023-6-29 21:16
那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过 ...
ok isdkz 发表于 2023-6-29 21:16
那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过 ...
您好,我可以使用其他的端口号运行吗(是的你没听错,我的服务器太逊了,这时候才装好 本帖最后由 isdkz 于 2023-6-29 22:32 编辑
zhangjinxuan 发表于 2023-6-29 22:25
您好,我可以使用其他的端口号运行吗(是的你没听错,我的服务器太逊了,这时候才装好
你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml
vi install/compose/docker-compose.yml
vi编辑器会用吧,按 i 开始编辑,按 ESC 然后输入 wq 回车保存退出
比如我这里改成83端口(改冒号左边即可,冒号右边保持不动):
然后执行以下命令重启容器:
docker-compose -f install/compose/docker-compose.yml down
docker-compose -f install/compose/docker-compose.yml up -d
isdkz 发表于 2023-6-29 22:30
你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml
zhangjinxuan 发表于 2023-6-29 22:33
这个应该是你之前运行失败的,这个系统就三个容器而已,uoj-web、uoj-db 和 uoj-judge
你看这个已停止的启动时间都跟上面三个差几个小时,这个删掉它即可
isdkz 发表于 2023-6-29 22:30
你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml
而且访问不了,我已经改成了 8192 端口,且重启了容器,并且开放了此端口,结果无法访问<服务器地址>:8192,说什么“拒绝了连接请求”
isdkz 发表于 2023-6-29 22:37
这个应该是你之前运行失败的,这个系统就三个容器而已,uoj-web、uoj-db 和 uoj-judge
你看这个已停 ...
你确定?好的,那我不管他了,可是这三个小东西虽然正常运行了,可是访问不了我设置的端口号 zhangjinxuan 发表于 2023-6-29 22:39
而且访问不了,我已经改成了 8192 端口,且重启了容器,并且开放了此端口,结果无法访问:8192,说什么“ ...
截这个端口映射给我看看:
本帖最后由 isdkz 于 2023-6-29 22:44 编辑
zhangjinxuan 发表于 2023-6-29 22:40
你确定?好的,那我不管他了,可是这三个小东西虽然正常运行了,可是访问不了我设置的端口号
我确定,你那个停止的镜像的启动时间都是我回答你的问题之前的{:10_329:}
话说你这是用的哪个云平台呀
isdkz 发表于 2023-6-29 22:42
我确定,你那个停止的镜像的启动时间都是我回答你的问题之前的
怎么办,我把可爱的防火墙打开后就启动不了??? zhangjinxuan 发表于 2023-6-29 22:46
怎么办,我把可爱的防火墙打开后就启动不了???
防火墙放行端口呗 isdkz 发表于 2023-6-29 22:47
防火墙放行端口呗
[+] Building 0.0s (0/0)
[+] Running 1/0
✘ Network compose_defaultError 0.1s
failed to create network compose_default: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:(iptables failed: iptables --wait -t nat -I DOCKER -i br-8c4081c6b54c -j RETURN: iptables: No chain/target/match by that name.
(exit status 1))
{:10_291:} 本帖最后由 isdkz 于 2023-6-29 22:53 编辑
zhangjinxuan 发表于 2023-6-29 22:50
状态:未使用?你点一下状态旁边的问号给我看看
或者你跟我说一下哪个云平台,我去看一下这个云平台的防火墙的使用方法
isdkz 发表于 2023-6-29 22:52
状态:未使用?你点一下状态旁边的问号给我看看
或者你跟我说一下哪个云平台,我去看一下这个云平台 ...
用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708-1-1.html
zhangjinxuan 发表于 2023-6-29 22:56
用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708- ...
你修改了配置文件有重新启动容器了吗? zhangjinxuan 发表于 2023-6-29 22:56
用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708- ...
在服务器上执行一下 docker ps 给我看看