Овладейте основите на Docker с тези важни концепции, обяснени с прости думи.

Овладяването на Docker е търсено умение за инженерите на бекенд софтуера. Docker ще ви помогне да създавате, пакетирате и разпространявате приложения.

Докеризираните приложения могат да работят в различни среди. Това намалява времето за престой на приложението, което дава на бизнеса конкурентно предимство. Но Docker може да бъде плашещ, когато започнете да го изучавате. Ето важни теми, за да се научите да овладявате Docker.

Какво е Docker?

Docker е софтуер, използван за пакетиране на приложения в изпълними единици, наречени контейнери. Docker осигурява поддръжка за бързо изграждане, тестване и внедряване на приложения.

Когато използвате Docker, вие взаимодействате с Docker Engine. Можете да инсталирате Docker Engine на всяка операционна система, включително Windows 10 и 11, macOS, или Ubuntu/Linux системи. Има много инструменти и концепции, които трябва да научите, за да използвате Docker ефективно. Ето най-важните, за да започнете.

instagram viewer

1. Докер изображение

Docker изображение е лек план, използван за създаване на контейнери. Това е шаблон от инструкции, определящи операционната система, кода на приложението и зависимостите. Вие определяте инструкции как да изградите изображението на Dockerfile.

Във файла посочвате всичко необходимо за вашето приложение. След това Docker автоматично изгражда изображението въз основа на предоставените инструкции. Можете да намерите различни изображения в онлайн регистъра на Docker, Docker Hub. Docker препоръчва използването на официалните изображения за целите на сигурността.

Можете също така да създавате изображения въз основа на персонализирани конфигурации. Изображенията се предлагат в различни размери, операционни системи и езици. Можете да изберете този, който най-добре отговаря на вашето приложение. Например, можете да научите как да изградите Docker изображение на .NET уеб API.

2. Докер контейнер

Контейнерите са единици, използвани за пакетиране на приложение в изпълнима единица. Контейнерите включват всичко необходимо за стартиране на приложение, включително библиотеки, код, зависимости и време за изпълнение.

Контейнерите изолират приложенията в единици, позволявайки им да работят последователно в различни среди. Контейнерите ви позволяват да управлявате приложения в среда за разработка и производство, без да срещате грешки. Има много случаи на употреба на контейнери които можете да изследвате.

Docker контейнерите имат подробности като ID на контейнера, изображение и основна операционна система. Можете също така да видите времето на изпълнение, състоянието и името на контейнера. За да изброите всички контейнери във вашата система, използвайте следната команда:

docker container ls

Ще видите подробности за всички работещи контейнери:

Можете също да използвате докер ps за да видите всички работещи контейнери. И проверка на докер контейнер [ID на контейнер] за преглед на съдържанието на контейнер.

4. Докер файл

Dockerfile е документ, който определя инструкции как да се изгради изображението на Docker. Файлът определя основното изображение, кода на приложението и файловете, необходими за създаване на изображението.

Файлът също така включва променливите на средата и командите за създаване на изображение. Можете да създадете Dockerfile като всеки друг файл. Трябва да посочите инструкциите във файла, като използвате синтаксис, който Docker разбира. Следва пример за примерен Dockerfile:

5. Docker Compose

Docker Compose е инструмент за дефиниране и стартиране на многоконтейнерни Docker приложения. Вие конфигурирате всички услуги в YAML файл. YAML файлът е документ, в който посочвате необходимите услуги за вашето приложение. След това можете да създадете и стартирате всички услуги с помощта на една команда.

Docker Compose може да изпълнява приложения в различни среди. Това могат да бъдат производствени, сценични, развойни или тестови среди. Docker Compose опростява сложния процес на оркестриране на множество контейнери.

Можете да използвате Docker Compose, за да управлявате приложение през целия му жизнен цикъл. Това може да включва стартиране, спиране и възстановяване на услуги. Можете също така да преглеждате състоянието на работещи услуги, изходен регистър на потоци и да изпълнявате команди на услуга.

С Docker Compose можете да конфигурирате мрежи, да управлявате томове и да указвате зависимости. Можете също така да мащабирате приложенията хоризонтално в производството, като посочите услуги за реплики.

Compose опростява внедряването на сложни приложения в различни среди. Можете също да го използвате, за да копирате една и съща среда в различни системи. Научаване как да използвате Docker Compose може да увеличи ефективността на вашето приложение.

Ето пример за YAML файл на Docker Compose:

6. Docker Hub

Docker Hub е онлайн регистър на контейнери за Docker. Като най-големият регистър на контейнери, той е инструмент за сътрудничество за разработчици и сътрудници с отворен код. Освен това е отличен пазар за доставчици на софтуер.

Docker Hub е доверен ресурс за намиране на надежден софтуер за виртуализация. Можете да създадете хранилище и да споделите над 100 000 изображения.

Можеш хоствайте вашите приложения и код на платформата. Можете също така да си сътрудничите по проекти с други разработчици. Docker Hub има безплатна публична опция или платени частни репо за конкретни оторизирани екипи.

7. Docker Networking

Docker networking е функция, която позволява на контейнерите да комуникират помежду си и с външни ресурси. Мрежите осигуряват контролирана и изолирана комуникация между контейнерите. Това могат да бъдат контейнери, работещи на един или няколко хоста.

Когато стартирате контейнер на вашата машина, той не е изложен на външни мрежи. Използвате портове, за да изложите контейнерите на външни IP адреси, DNS услуги, маршрутни таблици и интернет шлюзове.

Работата в мрежа позволява на контейнерите да работят в изолирани мрежови среди. Мрежите предоставят пространства от имена и IP адреси, намалявайки конфликта на контейнери и повишавайки сигурността.

8. Докер томове

В Docker обемите са механизъм, използван за съхраняване на постоянни данни. По дизайн контейнерите са ефимерни. Което означава, че е лесно да ги замените или унищожите с всичките им данни. Но има случаи, в които бихте искали да запазите данните. В такива случаи можете да използвате Docker томове за управление на постоянни данни.

Томовете имат и други приложения, включително позволяване на споделяне на данни между контейнери. Те са лесни за архивиране и мигриране в сравнение с други форми на съхранение. Освен това можете да управлявате обеми с помощта на Docker CLI или API.

Ако стартирате контейнер без том, Docker автоматично създава такъв. Можете също да създавате и управлявате томове, изолирани от всякакви контейнери. Използвайте следната команда, за да създадете том.

docker volume create my-vol

За да видите обема, който сте създали, изпълнете следната команда:

docker volume ls //local my-vol

След това можете да прикрепите томовете към всеки контейнер, който желаете. Можете да прочетете повече за обемите на Докер официална документация.

Други функции на Docker

Docker е един от най-добрите избори за управление на контейнери и контрол на версиите. Ако научите набора от инструменти на Docker, можете да подобрите и рационализирате работния си процес на разработка.

Docker има много функции, които можете да използвате, за да управлявате вашите приложения. След като усвоите ключовите функции, можете да изследвате други сложни функции като Docker Swarm, който се използва за оркестриране на сложни приложения.