Image или Container в Docker

docker container or image

Образы и контейнеры Docker гарантируют, что приложения могут работать в изолированных средах и даже запускаться в этих средах. Таким образом, они являются двумя наиболее важными частями платформы виртуализации Docker и экосистемы Docker. Мы объясним эти два термина, а затем рассмотрим их сходства и различия.

Docker containers

Docker-контейнеры — это изолированные исполнительные блоки для приложений и их зависимостей. В этом отношении они очень похожи на виртуальные машины, хотя есть и некоторые важные различия. Основное отличие состоит в том, что уровень изоляции для контейнеров немного ниже, чем для виртуальных машин, поскольку нет необходимости виртуализировать дополнительную операционную систему. Вместо этого контейнеры совместно используют операционную систему и ядро ​​хост-системы. Это дает некоторые преимущества, которые делают разработку приложений проще и быстрее, но также и несколько недостатков.

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

Недостатком такого более низкого уровня изоляции является то, что контейнеры имеют худшую безопасность, чем виртуальные машины. Поскольку все контейнеры имеют доступ к ядру операционной системы, «зараженный» контейнер может нанести серьезный ущерб. Для приложений, которым требуется более высокий уровень безопасности, следует использовать виртуальную машину.

Docker images

Образ Docker — это шаблон, доступный только для чтения, используемый движком Docker для создания контейнера. Таким образом, контейнеры Docker можно понимать как запущенные экземпляры образов Docker. Этот шаблон содержит зависимости исполняемого приложения, необходимую среду выполнения и сам код приложения.В качестве шаблона для контейнеров используются образы для создания согласованных, воспроизводимых сред выполнения для приложений.

Сами образы Docker сохраняются в виде двоичных файлов, но их также можно сохранить в удобочитаемой форме. Эти текстовые файлы называются Dockerfiles и содержат все инструкции, необходимые для восстановления образа. И образы Docker, и файлы Docker портативны и поэтому их можно легко переносить из системы в систему. Это означает, что образы Docker можно хранить и загружать из репозиториев реестра Docker, таких как Docker Hub. Запущенные экземпляры контейнера также можно сохранить в виде файлов изображений с помощью команды. docker commit

Docker image или container: в чем разница?

Docker-образы и контейнеры — это, по сути, одно и то же, только в разных формах. Образ — это доступный только для чтения шаблон контейнера, который содержит все необходимые файлы, зависимости и среды выполнения для запуска приложения, а также само приложение. С другой стороны, контейнер — это работающий экземпляр этого файла изображения, доступный не только для чтения, точно так же, как работающая программа — это экземпляр программных файлов, установленных на жестком диске.

Таким образом, изображение — это двоичный файл, хранящийся в файловой системе хост-машины, а контейнер — это выполняющийся процесс, расположенный в памяти системы. Точно так же, как образ Docker используется для создания контейнера Docker, работающий контейнер также можно сохранить как образ. Это, в свою очередь, можно использовать для точной репликации того же контейнера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *