鱼C论坛

 找回密码
 立即注册
查看: 4319|回复: 52

[已解决]docker 镜像的平台与主机的平台不匹配,如何解决?

[复制链接]
发表于 2023-6-29 19:15:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
复制代码


请问大家有什么解决方案吗?

上一次我其实没有得到解决,上次自己搭镜像的方法太麻烦,而且又不对,该怎么办呢?

最佳答案
2023-6-29 21:16:46
zhangjinxuan 发表于 2023-6-29 20:45
啊?

服务器我肯定是换不了,这样就真的完全没有别的方法了吗 >_

那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过程的命令发给你吧

如果遇到问题再问我,命令的详细解释就不写了,想知道命令什么意思可以问chatgpt

  1. git clone https://gitee.com/Hoo1941/UOJ-System.git
  2. cd UOJ-System
  3. 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
  4. sed -i '/apt/d' install/db/Dockerfile
  5. sed -i 's|https://raw.githubusercontent.com/UniversalOJ/UOJ-System/master|https://gitee.com/Hoo1941/UOJ-System/raw/master/|' install/db/Dockerfile
  6. docker build -t universaloj/uoj-system:db install/db/
  7. sed -i '5iRUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list' install/web/Dockerfile install/judger/Dockerfile
  8. docker build -t universaloj/uoj-system:web install/web/
  9. docker build -t universaloj/uoj-system:judger install/judger/
  10. docker-compose -f install/compose/docker-compose.yml up -d
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-6-29 23:17:26 | 显示全部楼层
让我们,重来一遍。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 20:02:29 | 显示全部楼层
要么就换一个使用amd架构cpu的服务器,要么就只能自己编译镜像了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 20:45:31 | 显示全部楼层
isdkz 发表于 2023-6-29 20:02
要么就换一个使用amd架构cpu的服务器,要么就只能自己编译镜像了

啊?

服务器我肯定是换不了,这样就真的完全没有别的方法了吗 >_<
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 21:16:46 | 显示全部楼层    本楼为最佳答案   
zhangjinxuan 发表于 2023-6-29 20:45
啊?

服务器我肯定是换不了,这样就真的完全没有别的方法了吗 >_

那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过程的命令发给你吧

如果遇到问题再问我,命令的详细解释就不写了,想知道命令什么意思可以问chatgpt

  1. git clone https://gitee.com/Hoo1941/UOJ-System.git
  2. cd UOJ-System
  3. 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
  4. sed -i '/apt/d' install/db/Dockerfile
  5. sed -i 's|https://raw.githubusercontent.com/UniversalOJ/UOJ-System/master|https://gitee.com/Hoo1941/UOJ-System/raw/master/|' install/db/Dockerfile
  6. docker build -t universaloj/uoj-system:db install/db/
  7. sed -i '5iRUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list' install/web/Dockerfile install/judger/Dockerfile
  8. docker build -t universaloj/uoj-system:web install/web/
  9. docker build -t universaloj/uoj-system:judger install/judger/
  10. docker-compose -f install/compose/docker-compose.yml up -d
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 21:34:09 | 显示全部楼层
isdkz 发表于 2023-6-29 21:16
那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过 ...

ok
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:25:57 | 显示全部楼层
isdkz 发表于 2023-6-29 21:16
那就除了自己编译镜像没有别的办法了,自己编译镜像也不难,我自己尝试了一遍编译的过程,我把整个编译过 ...

您好,我可以使用其他的端口号运行吗(是的你没听错,我的服务器太逊了,这时候才装好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:30:23 | 显示全部楼层
本帖最后由 isdkz 于 2023-6-29 22:32 编辑
zhangjinxuan 发表于 2023-6-29 22:25
您好,我可以使用其他的端口号运行吗(是的你没听错,我的服务器太逊了,这时候才装好


你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml

  1. vi install/compose/docker-compose.yml
复制代码


vi编辑器会用吧,按 i 开始编辑,按 ESC 然后输入 wq 回车保存退出

比如我这里改成83端口(改冒号左边即可,冒号右边保持不动)
Snipaste_2023-06-29_22-29-14.png

然后执行以下命令重启容器:
  1. docker-compose -f install/compose/docker-compose.yml down
  2. docker-compose -f install/compose/docker-compose.yml up -d
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:33:56 | 显示全部楼层
isdkz 发表于 2023-6-29 22:30
你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml

捕获.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:37:04 | 显示全部楼层


这个应该是你之前运行失败的,这个系统就三个容器而已,uoj-web、uoj-db 和 uoj-judge

你看这个已停止的启动时间都跟上面三个差几个小时,这个删掉它即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:39:45 | 显示全部楼层
isdkz 发表于 2023-6-29 22:30
你不想使用 80 端口的话,就执行以下命令编辑 docker-compose.yml

而且访问不了,我已经改成了 8192 端口,且重启了容器,并且开放了此端口,结果无法访问<服务器地址>:8192,说什么“拒绝了连接请求”

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:40:34 | 显示全部楼层
isdkz 发表于 2023-6-29 22:37
这个应该是你之前运行失败的,这个系统就三个容器而已,uoj-web、uoj-db 和 uoj-judge

你看这个已停 ...

你确定?好的,那我不管他了,可是这三个小东西虽然正常运行了,可是访问不了我设置的端口号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:41:44 | 显示全部楼层
zhangjinxuan 发表于 2023-6-29 22:39
而且访问不了,我已经改成了 8192 端口,且重启了容器,并且开放了此端口,结果无法访问:8192,说什么“ ...

截这个端口映射给我看看:

Snipaste_2023-06-29_22-41-12.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:42:57 | 显示全部楼层
本帖最后由 isdkz 于 2023-6-29 22:44 编辑
zhangjinxuan 发表于 2023-6-29 22:40
你确定?好的,那我不管他了,可是这三个小东西虽然正常运行了,可是访问不了我设置的端口号


我确定,你那个停止的镜像的启动时间都是我回答你的问题之前的

话说你这是用的哪个云平台呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:46:24 | 显示全部楼层
isdkz 发表于 2023-6-29 22:42
我确定,你那个停止的镜像的启动时间都是我回答你的问题之前的


怎么办,我把可爱的防火墙打开后就启动不了???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:47:31 | 显示全部楼层
zhangjinxuan 发表于 2023-6-29 22:46
怎么办,我把可爱的防火墙打开后就启动不了???

防火墙放行端口呗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:50:42 | 显示全部楼层
isdkz 发表于 2023-6-29 22:47
防火墙放行端口呗


捕获.PNG 新建位图图像.png
  1. [+] Building 0.0s (0/0)                                                                                                  
  2. [+] Running 1/0
  3. &#10008; Network compose_default  Error                                                                                   0.1s
  4. 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.
  5. (exit status 1))
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:52:29 | 显示全部楼层
本帖最后由 isdkz 于 2023-6-29 22:53 编辑


状态:未使用?你点一下状态旁边的问号给我看看

或者你跟我说一下哪个云平台,我去看一下这个云平台的防火墙的使用方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-29 22:56:35 | 显示全部楼层
isdkz 发表于 2023-6-29 22:52
状态:未使用?你点一下状态旁边的问号给我看看

或者你跟我说一下哪个云平台,我去看一下这个云平台 ...

用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708-1-1.html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 22:59:11 | 显示全部楼层
zhangjinxuan 发表于 2023-6-29 22:56
用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708- ...

你修改了配置文件有重新启动容器了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-29 23:01:11 | 显示全部楼层
zhangjinxuan 发表于 2023-6-29 22:56
用的是 宝塔Linux面板(https://www.bt.cn/),这是防火墙的状态说明:https://www.bt.cn/bbs/thread-4708- ...

在服务器上执行一下 docker ps 给我看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 09:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表