Непрерывный перезапуск контейнера в Docker

#linux #docker #grafana

#linux #docker #графана

Вопрос:

Я работаю на процессоре ARMv7 версии 2 (v7l), и у меня возникли некоторые проблемы с Docker.
Я сделал программную ссылку на корневой каталог Docker /media/sd (SD-карта). Теперь я устанавливаю на него Grafana (программное обеспечение). У меня проблемы с постоянным перезапуском контейнера на нем.

Это то, что я сделал:

docker run -d -p 3000:3000 --name=grafana --restart=on-failure grafana/grafana

Что я получил? Журналы из docker: (docker регистрирует grafana):

standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec» standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec» standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»
standard_init_linux.go: 211: пользовательский процесс exec вызвал «ошибку формата exec»

Есть ли способ все исправить?
Я был бы благодарен.

Комментарии:

1. custom Linux на какой архитектуре вы работаете?

2. Linux PFC200V3-43C500 4.9.146-rt125w02.09.01 #1 ВЫГРУЗКА RT Ср. 15 июля 17:05:09 UTC 2020 armv7l GNU / Linux ARMv7 Processor rev 2 (v7l

3. ARMv7 скорее всего, вы пытаетесь запустить x86_64 docker на платформе ARMv7… Скорее всего exec format error , это происходит от компоновщика при определении формата исполняемого файла. Проверьте конфигурацию docker и настроенную платформу.

4. Хорошо, это возможно. Я сделал так, чтобы docker извлек grafana из linux на x86_64, а затем загрузил изображение с помощью ftp, чтобы открыть его на целевом устройстве. Есть ли способ загрузить образ архитектуры ARM на win10 (ноутбук под рукой)?

Ответ №1:

Ваша проблема в том, что вы используете неправильную архитектуру в своей настройке. Я предполагаю, что вы либо создаете образ на компьютере amd64 и отправляете этот образ в удаленную систему, либо извлекаете образ из amd64 и переносите образ на arm64 на втором этапе.

В первом случае я предлагаю создать образ непосредственно на компьютере arm64. Во втором случае я предлагаю использовать образ grafana для этой конкретной архитектуры. Проверьте страницу grafana https://hub.docker.com/r/grafana/grafana/tags чтобы получить дайджест изображения. например, если вам нужно извлечь изображение 7.2.0 для arm, вам нужно будет использовать команду pull, используя изображение и дайджест sha (в данном случае sha256: 8c8be98e7999106471369b914a8cb9205ac2b3c43cca2f4e5cc5c792e3fbfacd). Другими словами:

 docker pull grafana/grafana@sha256:8c8be98e7999106471369b914a8cb9205ac2b3c43cca2f4e5cc5c792e3fbfacd

docker save -o grafana.tar grafana/grafana@sha256:8c8be98e7999106471369b914a8cb9205ac2b3c43cca2f4e5cc5c792e3fbfacd
  

перенесите файлы на удаленный компьютер

 docker load -i grafana.tar
  

Комментарии:

1. лол… Я только сейчас заметил, что ответил на вопрос о сохранении и загрузке изображений 🙂

2. Если вы все еще здесь, можете ли вы сказать мне, как дать имя изображению? Я сделал изображения docker, и есть число, которое не подходит для глаз. Это способ изменить его, например, на grafana?

3. docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

4. Да благословит вас Бог 🙂