Рубрики
Uncategorized

Докер для чайников

Docker — один из тех услуг, о которых вы всегда слышите, но, возможно, никогда не использовали. Я никогда не использовал … Tagged с Docker, начинающим, DevOps, Linux.

Docker — один из тех услуг, о которых вы всегда слышите, но, возможно, никогда не использовали. Я никогда не использовал Docker в колледже, и я на самом деле никогда не слышал об этом, пока не начал исследовать область дежопа. Знание того, как использовать Docker — это Quintessential элемент становления частью современной команды развития. Моя цель этого поста состоит в том, чтобы помочь читателю получить понимание того, что состоит в том, чтобы узнать, почему предпринимают его команды сегодня, и как начать работу Docker.

Если вы уже знаете, как использовать Docker, рассмотрите возможность чтения моего поста о управлении контейнерами с использованием Kubernetes.

  • Какие проблемы решают докер?
  • Что такое контейнеры?
  • В чем разница между контейнером и VM?
  • В чем разница между изображениями и контейнерами?
  • Как Docker поможет создавать приложения?

Почему докер?

Необходимость докера возникает из виртуальных машин на серверах, используемых в больших масштабах. Возьмите большой бизнес например. Для бизнеса, который использует сотни серверов с кластером виртуальных машин для каждой из своих платформ, поддержание этих машин — это полная занятость. Каждый сервер должен иметь установленную ОС, то время от времени требуется обновления и исправления, а затем должны быть установлены зависимости для приложений, которые также должны быть установлены на каждые использование машины.

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

Докер к спасению!

Вместо того, чтобы запускать приложения на виртуальных машинах, вы можете загружать изображения Docker на свой сервер. Когда изображение не удается, вы просто загружаете новый. Нет необходимости беспокоиться о конфигурации, потому что изображение существует как точная копия исходной конфигурации. Таким образом, вам не нужно беспокоиться о установке приложений или исправлений ОС, потому что они уже настроены на вашем образе докера. Установка докера освобождает вас от лечения серверов как домашних животных, постоянно контролируется и заботится о чем-то более эфемерам; Это нормально, если изображение не удается, вы можете просто заменить его. «Что такое изображение, и почему это может быть лучше, чем виртуальные машины? Вы можете спросить. » Этот термин имеет больше смысла, когда мы движемся вперед.

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

Как Docker оптимизирует процесс разработки?

CI/CD: Вы можете последовательно проверить и развернуть свой код в разные среды в процессе разработки (постановка, тестирование, добычу пользователя, производство) без хлопот настроить различные среды тестирования.

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

Свернуть вперед: Когда дефекты найдены, нет необходимости исправлять или обновлять приложение. Вам просто нужно использовать новое изображение.

В чем разница между изображением и контейнером?

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

Экземпляр изображения называется контейнером. Контейнеры действуют экземпляры с лучшими пишетными слоями, и они управляют фактическими приложениями. Когда контейнер удаляется, пишетный слой также удаляется, но основное изображение остается прежним. Основная вынос от этого состоит в том, что у вас может быть много беговых контейнеров от того же изображения. Хороший способ подумать о изображениях и контейнерах с этой метафорой: изображения — это рецепт, чтобы сделать торт, а контейнеры — это торты, которые вы выпекаете. Вы можете сделать столько пирожных, так как ваши ресурсы позволяют вам рецепт; Вы можете сделать столько контейнеров, поскольку ваши ресурсы позволят вам с изображением.

В чем разница между виртуальными машинами и контейнерами?

Рассмотрим расположение типичного флота VM: виртуальные машины управляются через гипервизор, который работает на хост-ОС, которая устанавливается на серверное оборудование. Гипервизор виртуализирует оборудование, что виртуальные машины используют для запуска своих операционных систем (гостевая ОС). Таким образом, на сервере есть хост-ОС, а сами виртуальные машины имеют установленную полную операционную систему.

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

Строительные изображения с Dockerfiles

Как видите, Docker помогает облегчить хлопот монтажа и конфигурации. Давайте посмотрим на образец команды Docker: Sudo Docker Run Docker/Whalesay Cowsay Hello-World!

Как видите, изображение Docker изначально не существовало локально, поэтому его нужно было вытащить из Docker/Whalesay. Вы также можете увидеть, что изображение состоит из нескольких слоев E190868D63F8, 909CD34C6FD7 и т. Д. Чтобы создать изображение, мы можем создать DockerFile. Как только этот файл будет завершен, мы будем использовать Docker Build [Опции] Путь | URL |. - создать наше изображение.

DockerFile может быть создан с использованием Нажмите Dockerfile И можно редактировать с помощью вашего любимого текстового редактора. Обратите внимание, что этот файл создан без расширения, это намеренно.

В вашем DockerFile введите следующий код:

Отчет о выступлении объявляет, какое изображение будет основано ваше новое изображение. Для этого образца проекта я буду использовать изображение Ubuntu. Однако, если вы хотите создать образец докера с нуля, вы можете просто написать С нуля Отказ

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

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

В каталоге вашего DockerFile введите Docker Build.

Первый раз каждая команда выполняется, каждая команда будет выполнена. Каждая команда в DockerFile кэшируется, поэтому, если вы редактируете файл, ему нужно будет построить только для отредактированной команды. После редактирования команды echo нашего dockerfile мы также дадим Docker Image имя и «последний» тег. Docker Build -t helloworld: последние.

Чтобы запустить ваше изображение, сначала найдите имя изображения, запустив Docker Images Отказ Обратите внимание, что вы можете запустить изображение докера по его идентификатору изображения или его имени и тегом. Если у вас только по имени, Docker автоматически запустится на «последнем» теге.

Docker Run Helloworld: последние и Docker Run 4D6C8eea04C9 производить тот же выход в этом случае.

И там у вас есть! Вы создали свой первый документ докера. Вы можете найти другие изображения на https://hub.docker.com и документация в https://docs.docker.com/

Дополнительный кредит!

Я предлагаю нажать на ваш недавно созданный образ докера в Dockerhub, если вы хотите поделиться своими изображениями Docker. Во-первых, создайте учетную запись Dockerhub в https://hub.docker.com.

Войдите в свой аккаунт DockerHub, используя CLI: Docker Login.

Вы также можете выйти из вашего CLI, используя: Отчет докера

Кроме того, вы можете подтолкнуть ваше вновь созданное изображение Docker с помощью первого помечения. Docker Tag helloworld: последние /dockerhub: MyFirstimagePush

Далее, нажмите изображение докера: Docker push /dockerhub: myfirstimagepush Вы должны получить хеш SHA-256, указывающий на толчок был успешным.

Если вы думаете, что вы готовы управлять своими контейнерами Docker, используя Kubernetes, прочитайте мой пост о Kubernetes, а затем прочтете о openshift, наиболее безопасную и всеобъемлющую контейнерную платформу контейнеров предприятия!

Я надеюсь, что этот пост может помочь всем, кто чувствует себя, как будто они не готов узнать о доке. Часто самая сложная часть чего-то сделала, начинает его. Пожалуйста, дайте мне знать, если это поможет или если я что-то пропустил!

Слияние Я в настоящее время ищу работу в DevOps! Если вы знаете кого-то, кто нанимает инженеров Engupe English, пожалуйста, отправьте им мое резюме, которое можно найти в https://smcgown.com и https://www.linkedin.com/in/steven-mcgown/

Спасибо!

Оригинал: «https://dev.to/stevenmcgown/docker-for-dummies-2bff»