LINUX.ORG.RU
ФорумAdmin

минимальный образ доскера

 , ,


1

2

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

собственно задача - собрать в доскере статически слинкованный lighthttpd, вопрос - как ? подскажите линками или советом

или всёже игра свеч не стоит?

собственно задача - собрать в доскере статически слинкованный lighthttpd, вопрос - как ?

Собери не в докере, потом просто забрось его в контейнер, ваш КО

invokercd ★★★★
()

прочитал недавно это

Ты очень зря реплицируешь этот бесполезный бред.

$ cat Dockerfile 
FROM ubuntu
RUN apt-get update && apt-get -y install nodejs
$ docker build -t nodejs .
...
$ docker images nodejs
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nodejs              latest              db6333c779de        5 minutes ago       221.5 MB

Это общий размер базового образа + дельта с установленными пакетами.

И я даже не к тому, что образ убунты с нодой весит далеко не 700мб, как утверждается, а к тому, что если в базовый образ подсунуть статически слинкованый бинарник ноды, то весить он будет как минимум столько же.

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

Упс, так делать нельзя в Dockerfile:

FROM ubuntu

Нужно делать так:

FROM ubuntu:latest
BigAlex ★★★
()

сабаж
дешовую
бубнты
жино
сушествут
доскере
всёже

Кнопка Shift поломалась?

Amet13 ★★★★★
()

Экономия дискового пространства, Docker, единственный инстанс ownCloud — все три пункта исключают друг друга даже поодиночке, а все три вместе взятые — вообще деление на ноль :)

собственно задача - собрать в доскере

О. Это ещё одна задача, исключающая Docker. Все вместе взятые четыре занимаются уже аннигиляцией пространства.

Единственный инстанс ownCloud под Ubuntu — это однозначный wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2 && tar xf owncloud-8.0.0.tar.bz2 && ...

KRoN73 ★★★★★
()

Как эта задача _правильно_ решается с Docker:

— Пуллится готовый официальный образ с nginx
— Пуллится компактный образ с php-fpm
— Пуллится образ mysql
— В глобальном каталоге хоста заводится место для кода файлов настроек, ownCloud, БД mysql и файлов ownCloud
— Пишется скриптик, который запустит три образа, связав их между собой (-v и --link) и всем перечисленным в предыдущем пункте.

Если возникает задача исправить образ Docker под одну задачу — то это, скорее всего, неверное использование Docker. Если явно требуется контейнеризация, то в данном случае это задача под LXC.

Если возникает задача работать с контейнером Docker изнутри, входить по ssh, что-то комплировать — то это уже явно неверное использование Docker. Если требуется именно контейнеризация, то в данном случае это задача под LXC.

KRoN73 ★★★★★
()
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от dvrts

a) это сложно, но я стараюсь б) мне н нужна нода это я привёёл просто как пример

novoxudonoser
() автор топика
Ответ на: комментарий от KRoN73

Экономия дискового пространства, Docker, единственный инстанс ownCloud — все три пункта исключают друг друга даже поодиночке, а все три вместе взятые — вообще деление на ноль :)

ну кстати да, толку от пары сотен мб когда моих файлов несколько десятков гб

О. Это ещё одна задача, исключающая Docker. Все вместе взятые четыре занимаются уже аннигиляцией пространства.

я немного поварил котелком - правильно я понимаю что я ж соберу под конкретную платформу, и когда я захочу перенести на другое железо, оно не запуститься?

Как эта задача _правильно_ решается с Docker:
— Пуллится готовый официальный образ с nginx
...

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

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

novoxudonoser
() автор топика
Ответ на: комментарий от KRoN73

Если возникает задача работать с контейнером Docker изнутри, входить по ssh, что-то комплировать — то это уже явно неверное использование Docker. Если требуется именно контейнеризация, то в данном случае это задача под LXC.

а есть ли обвертка по LXC, которая делат его такимже удобным в повседневномиспользовании как и докер?

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

в чём же главная соль и прелесть доцкера?

Когда нужно много однотипных решений. Либо, в максимальном случае, вообще свои образы в большом количестве, либо, в вырожденном случае (у меня, как раз, такой) — несколько однотипных контейнеров, если не хочется заморачиваться с поддержкой/обновлением виртуальных машин. Скажем, клиенту даю ftp-доступ к хостовому каталогу с файлами, а раздаю его не как раньше, через виртхосты, заморачиваясь правами доступа и лимитами, а через отдельные контейнеры nginx, php-fpm и mysql.

а есть ли обвертка по LXC, которая делат его такимже удобным в повседневномиспользовании как и докер?

Ну, Docker долго и был обёрткой на LXC :) Просто у них подход разный. Если нужна работа с готовыми типовыми контейнерами, то это задача для Docker. Если нужно допиливать что-то индивидуально руками внутри контейнера, представляющего собой целую систему — то LXC. Тем более, что LXC в работе не намного сложнее Docker. На простых хелловордах лишь чуть сложнее (вместо docker run требуется lxc-create + запуск системы), а при более плотной работе LXC даже будет проще, так как представляет из себя готовый виртуальный комп, с которым работа идёт привычно, как с обычным, не требуется ломать голову на счёт персистентности данных и идеологии использования.

KRoN73 ★★★★★
()
Ответ на: комментарий от novoxudonoser

я немного поварил котелком - правильно я понимаю что я ж соберу под конкретную платформу, и когда я захочу перенести на другое железо, оно не запуститься?

Зачем переносить под другую платформу?

Берешь контейнер и переносишь

dvrts ★★★
()
Ответ на: комментарий от novoxudonoser

Это не шутка?? Там же либси какая-нить гном-си-либ пёрл-либа и эээм, пару херовин - у меня в слаке с опенссл весь докер контейнер весит 82 Мб. Ну, лайти добавит 2Мб сверху.

menangen ★★★★★
()
Ответ на: комментарий от dvrts

но бинарник то то должен быть платформо-независимым, также как и либы, а если я правильно понимаю make, make install не сделают этого

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

но бинарник то то должен быть платформо-независимым, также как и либы, а если я правильно понимаю make, make install не сделают этого

Вообще не понял при чем тут

make, make install

dvrts ★★★
()
Ответ на: комментарий от novoxudonoser

Ты получишь не метапакет, ты получишь полноценный переносимый контейнер.

Читай внимательно что такое Docker.

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

Ты получишь не метапакет, ты получишь полноценный переносимый контейнер.

доске - средство контейнрезации на уровне ос через цпугрупс и виртуальную файловую систему, обьясни как бинарник который будет работать только на моей машине запуститься на другой пускай и в контейнере

или я чегото не понимаю? сам код в рамках x86/x64 платформо независимый а либы какрастаки да ?

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

Не доске, а докер.

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

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