- Оригинальный адрес:Learn Enough Docker to be Useful
- Оригинальный автор:Jeff Hale
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:EmilyQiRabbit
- Корректор:MarchYuanx,TokenJan
Изучение и применение Docker
Часть 1: Основные понятия
Контейнеры полезны для повышения безопасности, воспроизводимости и масштабируемости разработки программного обеспечения и хранения данных. Их рост — одна из самых важных частей сегодняшних технологических тенденций.
Docker — это платформа для разработки, развертывания и запуска программ в контейнерах. Фактически Docker является синонимом контейнеров. Если вы являетесь или стремитесь стать разработчиком программного обеспечения или специалистом по данным, Docker — это то, что вам нужно изучить.
Не беспокойтесь о том, что ваш прогресс отстает от других — эта статья поможет вам понять основные концепции Docker, а затем вы сможете применять их поверх этого.
В следующих пяти статьях этой серии я сосредоточусь на терминологии Docker, файле Docker, образе Docker, командах Docker и хранении данных. Вторая часть уже в эфире:
К концу этой серии (и некоторых упражнений) вы должны иметь базовые знания о Docker и уметь его применять 😃!
Метафора для Докера
Во-первых, давайте начнем с метафоры для Docker.
Определение метафоры GoogleЧто именно нам нужно знать:
Представлять или символизировать что-то еще, особенно что-то очень абстрактное.
Метафоры помогают нам узнавать новое. Например, сравнение его с сущностью-контейнером может помочь нам быстро понять природу виртуальных контейнеров.
Контейнер
Как и объект пластиковой коробки, характеристики контейнера Docker включают в себя:
-
разместить вещи- Ведь вещи либо внутри контейнера, либо вне контейнера.
-
портативный- Его можно использовать на локальных устройствах, общих устройствах или в облачных сервисах, таких как AWS. Что-то вроде коробки, в которую вы клали свои гаджеты, когда переезжали из дома в детстве.
-
Обеспечьте понятный интерфейс- Физическая коробка будет иметь отверстие, которое позволит нам открывать ее и класть или вынимать вещи. Точно так же контейнеры Docker также имеют механизмы для связи с внешним миром. Он имеет открытые порты и может взаимодействовать с внешним миром через браузер. Вы можете настроить его через командную строку для взаимодействия с данными.
-
Поддержка удаленного доступа- Вы можете купить еще одну пустую пластиковую коробку на Amazon, когда она вам понадобится. Amazon получает пластиковые коробки от производителей, которые могут изготовить тысячи таких коробок из одной формы. Для контейнеров Docker при удаленном входе в систему будет сохранено изображение, похожее на пресс-форму. Если вам нужен другой контейнер, вы можете сделать копию с этого образа. .
В отличие от виртуальных контейнеров Docker, вы должны платить за покупку новых пластиковых ящиков на Amazon, и вы не получаете резервную копию того, что внутри. Извините 💸.
живой экземпляр
Второй способ представления контейнера Docker — этоПримеры живых существ. Экземпляр — это то, что существует в той или иной форме. Это не просто код. Это оживляет вещи. Как и любое другое живое существо, этот экземпляр в конце концов умрет, то есть контейнер будет закрыт.
Контейнер Docker — это живая форма образа Docker.
программное обеспечение
В дополнение к метафоре коробки и метафоре живого экземпляра вы также можете думать о контейнерах Docker как опрограмма. В конце концов, по своей сути это все еще часть программного обеспечения. По сути, контейнер представляет собой серию инструкций, которые подсчитывают биты.
Когда контейнер Docker запущен, внутри него обычно выполняются программы. Программы выполняют операции внутри контейнера, поэтому приложение может выполнять определенные функции.
Например, веб-страница, которую вы сейчас читаете, может быть отправлена вам кодом внутри контейнера Docker. А может быть, он считывает ваши голосовые команды и отправляет их в Amazon Alexa, ваш голос декодируется в другие команды, а затем его используют программы в других контейнерах.
С Docker вы можете запускать несколько контейнеров одновременно на одном хосте. Как и другие программы, контейнеры Docker можно запускать, инструментировать, останавливать и удалять.
концепция
виртуальная машина
Виртуальные машины являются предшественниками контейнеров Docker. Виртуальная машина также отделяет приложение от его зависимостей. Однако контейнеры Docker требуют меньше ресурсов, легче и быстрее, поэтому они более продвинуты, чем виртуальные машины. ты можешь читатьэта статьяУзнайте больше о сходствах и различиях между ними.
Зеркало Докера
Я упоминал о зеркалировании ранее. Так что же такое зеркалирование? Я рад, что вы взяли на себя инициативу задавать вопросы! В контексте ДокеразеркалоЗначение этого термина полностью отличается от реального фото.
Образ Docker больше похож на чертеж, форму для печенья или форму. Образ — это главный шаблон, который не изменяется и используется для создания нескольких идентичных контейнеров.
Образ содержит файл Dockerfile, библиотеки и код приложения, которые необходимо запустить, и все это объединено в образ.
Dockerfile
Dockerfile— это файл, содержащий инструкции о том, как Docker должен создать образ.
DockerFile укажет базовое изображение, которое можно использовать для создания начального зеркального слоя. Используйте широкий официальный базовый образ, включаяpython,ubuntuиalpine.
Дополнительные слои будут добавлены поверх базового слоя образа в соответствии с инструкциями в Dockerfile. Например, файл Dockerfile для приложения машинного обучения скажет Docker добавить NumPy, Pandas и Scikit-learn на средний уровень.
Наконец, тонкий и доступный для записи слой будет добавлен поверх всех слоев в соответствии с кодом Dockerfile. (Смысл тонкого на самом деле означает, что объем этого слоя очень мал, вы это понимаете, да 😃? Потому что вы уже поняли это интуитивноТонкийэто метафора)
Я рассмотрю Dockerfiles более подробно в других статьях этой серии.
Docker Container
Образ Docker плюс командаdocker run image_name
Контейнер будет создан из этого образа и запущен.
Регистрация контейнера
Если вы хотите, чтобы другие использовали ваш образ для создания контейнеров, вам необходимо отправить образ в реестр контейнеров.Docker HubЭто самый большой реестр по умолчанию.
Что ж! Слишком много мелочей. Мы собираем все вместе и делаем практику, это как делать пиццу.
Докер на практике
-
РецептDockerfile. Он говорит нам, что нужно сделать, чтобы сделать эту пиццу.
-
Материалы ДокерЭтаж. Теперь у вас есть тесто для пиццы, соус и сыр.
Думайте о комбинации рецептов и ингредиентов как об универсальном наборе для приготовления пиццы. ЭтоДокер-образ.
Рецепт (Dockerfile) сообщает нам шаги. следующее:
-
Тесто для пиццы нельзя изменить, как и базовый родительский образ Ubuntu. этоНижний слой, и будет построен первым.
-
Затем нужно добавить немного сыра. Второй слой пиццы такойУстановка внешних библиотек- например, NumPy.
-
Затем можно также посыпать базиликом. Василий, как ты пишешь вкод в файле, чтобы запустить ваше приложение. .
Хорошо, теперь приступим к приготовлению.
-
Печь для выпечки пиццы — это как платформа Docker. Вы переносите печь к себе домой, чтобы использовать ее для приготовления пищи. Точно так же вы устанавливаете Docker на свой компьютер, чтобы иметь возможность манипулировать контейнерами.
-
Вы получаете духовку для работы, повернув ручку.
docker run image_name
Инструкция подобна вашей ручке - она может создавать и позволить контейнеру начать работать. -
Готовая пицца похожа на контейнер Docker.
-
Наслаждение пиццей похоже на использование вашего приложения.
Так же, как и приготовление пиццы, создание приложения в Docker трудозатратно, но в итоге вы получите отличные результаты. Наслаждайся этим!
конец
Основное содержание этой статьи - концептуальная основа. существуетВторая часть этой серииЯ объясню некоторые аспекты Docker в экосистеме, которые вы можете увидеть. Я помню беспокойство, чтобы вы не пропустите.
Надеюсь, этот обзор помог вам лучше понять Docker. Я также надеюсь, что это даст вам представление о ценности метафор в понимании новых технологий.
Если вы считаете эту статью полезной, отправьте ее в свои любимые социальные сети, чтобы другие могли читать и учиться. 👏
Я также пишу о Python, Docker, науке о данных и многом другом. Если вы заинтересованы, вы можетездесьЧитайте больше и следите за мной на Medium. 😄
Спасибо, что нашли время прочитать эту статью!
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.