LINUX.ORG.RU

Что значит поставить приложение в докер

 


0

1

Что значит поставить приложение в Докер? Я понимаю докер это скрипты какие-то? Вот мне надо собрать приложение под процессор HI3518E200 (arm926) как это сделать? как поставить в докер, объясните пожалуйста. Спасибо!

это значит докер головного мозга

Anoxemian ★★★★★ ()

докер не позволяет эмулировать опр железо

tz4678 ★★ ()

это значит, что приложение написано настолько херово, что страдает сильными зависимостями от других либ/дл/етц героина, что собрать и запустить этот грёбный девопс стыд совершенно невозможно, и приходится ставить неведомый бинарник, уже со всеми зависимостями.

darkenshvein ★★★★★ ()

Для начала выясни, что такое Докер. Грубо говоря, это — система для запуска как бы виртуальных машин. Если точнее — контейнеры Докера (containers) полноценными ВМ не являются. Каждый образ — урезанная операционная система без ядра + установленные программы. При запуске контейнер работает поверх системного ядра, но все программы контейнера изолированы от хозяйской (хостовой) ОС.

В сети куча руководств по работе с Докером.

Что значит поставить приложение в Докер?

Скопировать его файлы в образ. Часто также требуется обеспечить запуск при запуске образа. Подробнее — в описании работы с Dockerfile. Копировать файлы можно командой COPY, ставить собранные пакеты — RUN + команда менеджера пакетов, например apt install nginx для Дебиана и nginx.

Вот мне надо собрать приложение под процессор HI3518E200 (arm926) как это сделать?

Главный вопрос: какой будет процессор в хостовой системе, в которой будет запускаться докер, и каким процессором будет собираться образ?

Если хост будет на том же ARM, а сборка на x86-64, то вот руководство: http://www.hotblackrobotics.com/en/blog/2018/01/22/docker-images-arm/

Я собирал образы только для x86-64, поэтому по quemu советовать ничего не буду. Помимо этого нужно:
1. Выбрать исходный образ, к которому будешь добавлять свою программу. Задаётся в Dockerfile командой FROM.
2. Скомпилировать программу в хостовой системе. По кросс-компиляции тоже ничего не могу посоветовать кроме чтения документации компилятора, опыта нет.
3. В Dockerfile добавить комады COPY, чтобы скопировать скомпилированные файлы в нужное место на образе.
4. Если для её работы нужны какие-то настройки, системные переменные, права — тоже добавить всё в Dockerfile.
5. Если скомпилированная программа должна запускаться при старте контейнера, добавить для неё команду ENTRYPOINT.
6. Собрать образ руководствуясь этим докерфайлом. Командой docker build. Параметров куча, смотри мануал. В простейшем случае хватает «docker build .».
https://docs.docker.com/engine/reference/builder/

Если этот контейнер и работать должен на не-армовом хосте, то нужно дальше извращаться с quemu. Первая попавшаяся ссылка: https://ownyourbits.com/2018/06/27/running-and-building-arm-docker-containers...

question4 ★★★★★ ()

Я женщина, а значит я девопс и вы меня ущемляете

cast alpha... Ох щи, они ведь теперь против докера и пилят какой-то там тулбокс, лол.

Вот мне надо собрать приложение под процессор HI3518E200 (arm926)

Просто не парься, ты не целевая аудитория.

anonymous ()
Ответ на: комментарий от anonymous

Судя по формулировке задачи — «сказано, что бурундк — птичка, значит ищи крылья».

question4 ★★★★★ ()

Докер это типа VirtualBox.

В Windows docker и использует VirtualBox...

docker может быть полезен если нужно установить какую-нибудь хрень, для которой разрабы не сделали нормального установщика.

Типа вжух, и у тебя gitlab на Windows, или вжух, и у тебя Jenkins на Windows.

fsb4000 ★★★★★ ()
Последнее исправление: fsb4000 (всего исправлений: 1)

сначала учимся выбирать раздел для новой темы.

без этого «поставить приложение в докер» не выйдет.

mos ★★☆☆☆ ()
Ответ на: комментарий от fsb4000

Типа вжух, и у тебя gitlab на Windows, или вжух, и у тебя Jenkins на Windows.

или ВВВВВВВЖЖЖЖЖЖЖЖЖЖУУУУУУУУУХХХХХ, и люди всё таскают в докере, вплоть до coreutils. Это ж изоляция, снижение затрат на поддержку бггг.

mos ★★☆☆☆ ()

Всё перечисленное надо делать в барбершопе, иначе незачет.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.