Задать вопрос

Docker и базовые образы с разными дистрибутивами Linux?

Здравствуйте,
Мне как то не по себе, что при сборке проекта и использовании сторонних образов, каждый базовый образ с различными дистрибутивами Linux.
FROM mysql:5.7 # Основано на debian:jessie
FROM sphinx  # Основано на Ubuntu

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

Стал пилить свои образы.

FROM debian:jessie
RUN apt-get update
RUN apt-get install nano
# Ok

FROM myproject_debian
RUN nano file 
# bash: nano: command not found


Видимо настройки базового изображения не передаются(
Как использование кучи дистрибутивов скажется на производительности, если она очень важна вопреки удобству?
  • Вопрос задан
  • 1465 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
Так докер файл же не для запуска программ в том виде как делаете вы.
Он для создание окружения, вашего нового образа.

Как создали докерфайл , собираем образ сценарием (докерфайл)
sudo docker build -t [имя]

вот пример
https://www.8host.com/blog/avtomaticheskaya-sborka...

Теперь на тему производительности. Если вы серьезно этим озабоченны и понимаете, что и где крутить в linux, что бы ее добится. Создавайте свои образы. Берите за основу самый минимальный дист alpinelinux.org и делайте под себя. Все остальное можно использовать, на быстро развернуть, проверить . Я всегда отношусь с неким недоверием по сборкам, так как нет уверенности, что там все сделали как надо :)
Ответ написан
Комментировать
Tyranron
@Tyranron
Я понимаю что ядро одно, но окружение слишком разнообразное, мне нужна одна система.

Зачем?

Как использование кучи дистрибутивов скажется на производительности, если она очень важна вопреки удобству?

Вообще никак.

У Вас в контейнерах запускаются не дистрибутивы, и не "линуксы".
В контейнерах запускаются процессы. И если это не кастомный образ, куда понапихано куча процессов с супервизором всего этого дела, то процесс запускается один. Вопрос производительности - это вопрос производительности Вашего процесса, и того как он работает. Если Вы запускаете, к примеру, mysqld, то какие там файлы остальные в контейнере лежат - по-барабану, потому что производительность mysqld зависит от него самого, его конфигурации, и ресурсов машины, а не от того, по чьему фэн-шую разложены файлы, CentOS'овскому, или Debian'овскому.
Ответ написан
Комментировать
@baltun7
http://baltun7.ru, http://vk.com/baltun7
странная архитектура, зачем всё окружение за собой тащить для запуска всего лишь одного процесса, почему не выделить эти сборки в какой-то более высокий уровень, и например, если в нескольких образах используется убунта, то брать её из одного и того же места, а не для каждого образа свой весь дистрибутив запихивать на диск
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы