Descreva o bug
Durante $./build.sh container arm
ou $./build.sh container arm64
, recebi o seguinte erro de compilação.
**********************************
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
Reproduzir
Passos para reproduzir o comportamento:
$./build.sh container arm
ou $./build.sh container arm64
No final das contas, isso está relacionado à política geral de suporte à extensão da plataforma, que criei como https://github.com/lf-edge/edge-home-orchestration-go/issues/127. @tdrozdovsky Algum pensamento sobre isso?
@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio Dockerfile
(Isso resolverá o problema atual).
PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.
@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio
Dockerfile
(Isso resolverá o problema atual).
PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.
@tdrozdovsky Faz sentido. Que tal considerar o design da resolução após o lançamento de Coconut
de vocês?
@MoonkiHong Eu posso consertar esse problema hoje. Quando você lança o coco?
Claro, um novo sistema de construção pode ser proposto mais tarde (esta tarefa leva mais tempo)
@tdrozdovsky Coconut
será lançado no final de outubro deste mês. Vamos começar a resolver esse problema a partir de novembro. Obrigada.
@MoonkiHong Vou tentar fazer isso hoje para que o lançamento do Coconut não tenha esse problema. E também hoje eliminarei mais uma imprecisão com a documentação, que surgiu com os últimos commits. Serão commits diferentes
@MoonkiHong Vou tentar fazer isso hoje para que o lançamento do Coconut não tenha esse problema. E também hoje eliminarei mais uma imprecisão com a documentação, que surgiu com os últimos commits. Serão commits diferentes
@tdrozdovsky Agradeço muito sua contribuição apaixonada!
@tdrozdovsky Apenas para o verificador, podemos construir com sucesso o pacote para arm
sem qualquer modificação de código sem a orientação adequada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , que significa aplicar uma revisão do ambiente de construção. Que tal guiar este script adequadamente no documento em questão então? (em vez de um design de sistema de construção separado)
@tdrozdovsky Apenas para o verificador, podemos construir com sucesso o pacote para
arm
sem qualquer modificação de código sem a orientação adequada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , que significa aplicar uma revisão do ambiente de construção. Que tal guiar este script adequadamente no documento em questão então? (em vez de um design de sistema de construção separado)
@ t25kim Obrigado por sua outra ótima sugestão e avaliação para esta edição! (incluindo a validação de autoconstrução com a orientação também)
@MoonkiHong Eu preparei mudanças para corrigir esse problema, mas ainda preciso testar. Quando tudo estiver pronto, vou criar um PR.
Comentários muito úteis
@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio
Dockerfile
(Isso resolverá o problema atual).PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.