描述错误
在$./build.sh container arm
或$./build.sh container arm64
,我收到以下构建错误。
**********************************
Create Docker container
**********************************
Error: No such container: edge-orchestration
Error: No such image: edge-orchestration:baobab
docker build --tag edge-orchestration:baobab --file /home/t25kim/work/edge-home-orchestration-go/GoMain/Dockerfile --build-arg PLATFORM=arm32v7 .
Sending build context to Docker daemon 301.4MB
Step 1/17 : ARG PLATFORM
Step 2/17 : FROM $PLATFORM/ubuntu:16.04
---> 8eedc387cb89
Step 3/17 : ENV TARGET_DIR=/edge-orchestration
---> Using cache
---> 5f0a61e388ca
Step 4/17 : ENV HTTP_PORT=56001
---> Using cache
---> b067bb7683b3
Step 5/17 : ENV MDNS_PORT=5353
---> Using cache
---> 075a5c1d1c28
Step 6/17 : ENV MNEDC_PORT=8000
---> Using cache
---> c2bc2afb2a0a
Step 7/17 : ENV MNEDC_BROADCAST_PORT=3333
---> Using cache
---> 5730d8bb2687
Step 8/17 : ENV ZEROCONF_PORT=42425
---> Using cache
---> b6b101e9d328
Step 9/17 : ENV APP_MAIN_DIR=GoMain
---> Using cache
---> b6d791035071
Step 10/17 : ENV APP_BIN_DIR=$APP_MAIN_DIR/bin
---> Using cache
---> e178739df475
Step 11/17 : ENV APP_NAME=edge-orchestration
---> Using cache
---> e75f9b70dc2c
Step 12/17 : RUN apt update
---> Running in 244a90de8ea7
standard_init_linux.go:211: exec user process caused "exec format error"
The command '/bin/sh -c apt update' returned a non-zero code: 1
Makefile:94: recipe for target 'build-container' failed
make: *** [build-container] Error 1
再现
重现行为的步骤:
$./build.sh container arm
或$./build.sh container arm64
最后,这与支持平台扩展的一般政策有关,我提出作为https://github.com/lf-edge/edge-home-orchestration-go/issues/127。 @tdrozdovsky 有没有想过这个?
@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的Dockerfile
(这将解决当前问题)是正确的。
PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。
@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的
Dockerfile
(这将解决当前问题)是正确的。
PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。
@tdrozdovsky有道理。 在你的Coconut
发布后考虑分辨率的设计怎么样?
@MoonkiHong我今天可以解决这个问题。 你什么时候发布椰子?
当然以后可以提出一个新的构建系统(这个任务需要更多的时间)
@tdrozdovsky Coconut
将于本月 10 月底发布。 让我们从 11 月开始解决这个问题。 谢谢你。
@MoonkiHong我今天会尝试这样做,以便 Coconut 版本不会出现此问题。 而且今天我将消除文档中的另一个不准确之处,这些不准确之处是在最后一次提交中出现的。 这些将是不同的提交
@MoonkiHong我今天会尝试这样做,以便 Coconut 版本不会出现此问题。 而且今天我将消除文档中的另一个不准确之处,这些不准确之处是在最后一次提交中出现的。 这些将是不同的提交
@tdrozdovsky非常感谢您的热情贡献!
@tdrozdovsky只是为了检查,我们可以成功地为arm
构建包,而无需任何代码修改 wrt 的正确指导
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ ,这意味着应用构建环境的修订版。 那么如何在相关文档中正确引导该脚本呢? (而不是单独的构建系统设计)
@tdrozdovsky只是为了检查,我们可以成功地为
arm
构建包,而无需任何代码修改 wrt 的正确指导
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ ,这意味着应用构建环境的修订版。 那么如何在相关文档中正确引导该脚本呢? (而不是单独的构建系统设计)
@t25kim感谢您对这个问题的另一个很好的建议和评价! (包括自构建验证和指南)
@MoonkiHong我已准备好更改来解决此问题,但仍需要进行测试。 一切准备就绪后,我将创建一个 PR。
最有用的评论
@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的
Dockerfile
(这将解决当前问题)是正确的。PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。