Образ Docker и контейнер: в чем разница?

Образ Docker и контейнер: в чем разница?

4 мая 2023 г.

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

Сегодня я объясню разницу между образом Docker и контейнером.

https://youtu.be/qrGcRuHR8QI

Что такое образ Docker?

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

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

Если вы работали в своей локальной среде разработки, чтобы начать работу с любым проектом, вашим первым шагом была установка всего, что вам нужно для проекта, над которым вы работаете, например, вашего SQL-сервера, IIS, поставщика поисковых индексов, такого как Solr, и т. д. , Этот процесс подвержен ошибкам и утомителен.

Образы Docker включают в себя все эти инструменты, а это означает, что когда вы начинаете новый проект, разработчики в команде просто извлекут образ Docker! Честно говоря, это лучшее, что когда-либо было.

Что такое контейнер Docker?

С другой стороны, контейнер — это экземпляр образа во время выполнения. В нем есть образ, среда выполнения и инструкции для среды выполнения, такие как восстановление nuget и сборка решения с помощью MSBuild.

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

Эти товары прибывают в док, а докер (также известный как докер) — это человек, который загружает и выгружает товары из транспортных контейнеров.

Я работал с Docker больше года, прежде чем услышал это, и я хотел передать это! Давайте посмотрим на это на практике!

Как получить образ Docker и запустить контейнер Docker

Я буду использовать пример статического сайта. Вы можете получить это из репозитория docker-curriculum, используя показанную здесь команду запуска. Я использую расширение Docker в VSCode для работы с образами и контейнерами Docker и очень рекомендую его.

docker run -d -P --name static-site prakhar1989/static-site

Как получить номер порта для работающего контейнера Docker

Вам потребуется получить порт для вашего статического сайта с помощью команды docker port и указать контейнер статического сайта.

docker port static-site

Откройте браузер и перейдите к своему локальному хосту и номеру порта.

Navigate to the localhost and port for your running docker container

Использование расширения Docker в VSCode

Мне нравится использовать VSCode для работы с моими контейнерами Docker, и если вы установите расширение, вы сможете управлять своими контейнерами, образами, реестрами, сетями, томами и контекстами. Вы можете развернуть панели изображений и контейнеров, чтобы увидеть, что вы создали!

Имя образа и контейнера одинаковое: prakhar1989/static-site. Однако на контейнер можно ссылаться по более короткому имени или тегу «static-site».

Вы также можете просмотреть свои контейнеры с помощью команды docker ps. Это покажет вам ценную информацию о вашем контейнере, включая статус и порты.

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

Working with Docker image vs. container in VSCode using the Docker extension

Обобщая, образ Docker — это пакет, включающий все зависимости и конфигурации развертывания, которые используются во время выполнения контейнера. Контейнер — это экземпляр образа во время выполнения.


Впервые опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE