Kontener zawieszony w fazie "Restarting" na ARM64

Moderator: fracz

karnasw
Posts: 204
Joined: Fri Oct 02, 2020 10:22 am

Post

Cześć, próbuję zainstalować supla-docker na świeżo w systemie Raspberry Pi OS 64bit. Wszystko działa bez problemu kiedy wykonam skrypt supla.sh z plików dockera utworzonych na wersji ARM32. Kiedy pobieram świeże pliki z git to instalacja idzie poprawnie, ale kontener ma cały czas status restarting. Log pokazuje "standard_init_linux.go:228: exec user process caused: exec format error". Na jednym z forów przeczytałem, że prawdopodobnie zainstalował się kontener w innej architekturze niż host, jak wymusić poprawną? Czy może błąd dotyczy czegoś innego?

Edycja: Pi OS 64bit zwraca w uname -m "aarch64", a nie "arm64". Zmieniłem w supla.sh sprawdzanie architektury z "arm" na "aar" i wszystko poszło poprawnie.
myrcin
Posts: 55
Joined: Fri Jun 07, 2019 9:08 am

Post

Mam ten sam problem. Co ciekawe raz udało mi się odpalić Supla na 64bitowym systemie bez problemu ale potem musiałem odtworzyc całe PI do starego backupu gdzie supla jeszcze nie miałem i teraz nie mogę sobie z tym poradzić.

Mam dokładnie taki sam błąd jak Ty. Gdzie w supla.sh wprowadziłeś te zmianę, czy tutaj i w taki sposób jak ja:

elif [ "$(expr substr $(uname -m) 1 3)" == "aar" ]; then

Co potem zrobiłeś? supla.sh start czy coś innego?

Z góry dziekuję za pomoc.
myrcin
Posts: 55
Joined: Fri Jun 07, 2019 9:08 am

Post

Znalazłem rozwiązanie tego problemu. Opiszę dla wszystkich chcących zainstalować Suplę na Pi z 64 bitowym systemem.
Zmiana 1:
mysql nie działa na 64 bitach, na innej stronie tego forum znalazłem, że trzeba zmienić w plikach docker-compose.arm32v7.yml oraz docker-compose.yml odnośniki do mysql. Po zmianie powinno być tak:

Code: Select all

supla-db:
image: [b]mariadb[/b]
Zmiana 2:
Prawdopodobnie rozwiązanie podane przez autora tego wątku jest prawidłowe ale ja nie umiałem go wdrożyć. Jednak jest inny sposób. Należy w pliku .env na samym końcu zmienić z :

Code: Select all

COMPOSE_FILE=docker-compose.yml:docker-compose.standalone.yml
na:

Code: Select all

COMPOSE_FILE=docker-compose.yml:docker-compose.standalone.yml:[b]docker-compose.arm32v7.yml[/b]
Jeśli wcześniej nie utworzyłeś kontenerów stwórz je za pomocą

Code: Select all

supla.sh start
.
Jeśli wcześniej stworzyłeś ale się restartowały wykonaj

Code: Select all

supla.sh restart
Bez tej ostatniej zmiany, kontenery niby się tworzą ale tak na prawdę nie do końca. Po zmianie utworzenie kontenerów twa dłużej i więcej informacji jest wyświetlanych na ekranie. Tak utworzone kontenery przestają się restartować.
User avatar
fracz
Posts: 2285
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków

Post

@myrcin, co na Twojej architekturze zwraca komenda

Code: Select all

uname -m
?

Jeśli jest to aarch64, to oznacza że problem jest taki sam jak tutaj: viewtopic.php?f=40&t=6309

Do konfiguracji musimy dodać nowy plik konfiguracyjny dla arm64 z odpowiednim obrazem bazy danych.
myrcin
Posts: 55
Joined: Fri Jun 07, 2019 9:08 am

Post

fracz wrote: Fri Jan 28, 2022 2:40 pm @myrcin, co na Twojej architekturze zwraca komenda

Code: Select all

uname -m
?

Jeśli jest to aarch64, to oznacza że problem jest taki sam jak tutaj: viewtopic.php?f=40&t=6309

Do konfiguracji musimy dodać nowy plik konfiguracyjny dla arm64 z odpowiednim obrazem bazy danych.
Zwraca aarch64.

Wskazany link rozwiązuje tylko problem z bazą danych i w tym linku faktycznie znalazłem wskazówkę aby zmienić na mariadb. Jednak to nie wszystko. Jeszcze musiałem zrobić drugą zmianę, którą opisałem powyżej.
User avatar
fracz
Posts: 2285
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków

Post

User avatar
lesny8
Posts: 2960
Joined: Mon Dec 11, 2017 9:43 pm

Post

SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:

Return to “supla-docker”