3

Я не могу понять, где преимущества докера. Я сталкиваюсь с большой похвалой в честь Docker . Это легкий, очень быстрый по сравнению с виртуальной машиной.

Может кто-нибудь объяснить мне, почему докер может работать без всего, что крайне важно для виртуальной машины? Ведь в докере у нас только ядро. Да, это легкий, но программный, если очень плохой. Что-то кроме ls, cp, cd,.. у нас есть? В другом случае нам нужно больше программного обеспечения и, следовательно, размер докера также может быть огромным.
Где я не прав?

1 ответ1

1

Контейнеры Docker используются для изоляции того сервиса, который вы в нем запускаете, от остальной части системы. В этом смысле они не отличаются от виртуальной машины.

Вы должны установить нужный вам сервис, например mysql, в контейнер. Это не отличается от использования виртуальной машины, за исключением того, что в виртуальной машине также необходимо установить операционную систему. Таким образом, Docker имеет огромное преимущество в размере (часто несколько ГБ).

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

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

При создании нового контейнера Docker также «повторно» использует существующие контейнеры, которые используют один и тот же базовый контейнер. Ваш первый контейнер может, например, занимать 300 МБ, но последующие контейнеры с такими же базовыми контейнерами могут использовать всего несколько МБ.
Если вы создадите две одинаковые или похожие виртуальные машины, они всегда будут полноразмерными.

В этой статье на сайте Docker объясняется, как создаются образы и контейнеры Docker .

По этой причине контейнеры Docker могут обойтись без полной операционной системы, см. Https://serverfault.com/q/755607/388193.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .