Образ Docker и контейнер: в чем разница?
4 мая 2023 г.Docker позволяет разработчикам быстро запускать любую среду разработки, не устанавливая все необходимое программное обеспечение и инструменты на свой локальный компьютер. Это достигается с помощью образов и контейнеров, но что это значит?
Сегодня я объясню разницу между образом Docker и контейнером.
Что такое образ 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
Откройте браузер и перейдите к своему локальному хосту и номеру порта.
Использование расширения Docker в VSCode
Мне нравится использовать VSCode для работы с моими контейнерами Docker, и если вы установите расширение, вы сможете управлять своими контейнерами, образами, реестрами, сетями, томами и контекстами. Вы можете развернуть панели изображений и контейнеров, чтобы увидеть, что вы создали!
Имя образа и контейнера одинаковое: prakhar1989/static-site. Однако на контейнер можно ссылаться по более короткому имени или тегу «static-site».
Вы также можете просмотреть свои контейнеры с помощью команды docker ps. Это покажет вам ценную информацию о вашем контейнере, включая статус и порты.
Чтобы просмотреть все изображения, используйте команду docker images.
Обобщая, образ Docker — это пакет, включающий все зависимости и конфигурации развертывания, которые используются во время выполнения контейнера. Контейнер — это экземпляр образа во время выполнения.
Впервые опубликовано здесь
Оригинал