Kontener zawieszony w fazie "Restarting" na ARM64

Moderator: fracz

karnasw
Posty: 187
Rejestracja: pt paź 02, 2020 10:22 am

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
Posty: 55
Rejestracja: pt cze 07, 2019 9:08 am

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
Posty: 55
Rejestracja: pt cze 07, 2019 9:08 am

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:

Kod: Zaznacz cały

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 :

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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ą

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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ć.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

@myrcin, co na Twojej architekturze zwraca komenda

Kod: Zaznacz cały

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
Posty: 55
Rejestracja: pt cze 07, 2019 9:08 am

fracz pisze: pt sty 28, 2022 2:40 pm @myrcin, co na Twojej architekturze zwraca komenda

Kod: Zaznacz cały

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.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Czekam na kolejne Supla Offline Party 👍
ODPOWIEDZ

Wróć do „supla-docker”