Підручник Docker для початківців: основи, Archiтектура, контейнери
Що таке Докер?
Docker це платформа розробки програмного забезпечення для віртуалізації з кількома Operaсистеми, що працюють на одному хості. Це допомагає розділити інфраструктуру та програми для швидкої доставки програмного забезпечення. На відміну від гіпервізорів, які використовуються для створення VM (віртуальних машин), віртуалізація в Docker виконується на системному рівні, що також називається контейнерами Docker.
Як ви бачите різницю на зображенні нижче, контейнери Docker працюють поверх хосту Operaції системи. Це допоможе підвищити ефективність і безпеку. Крім того, ми можемо запускати більше контейнерів на одній інфраструктурі, ніж ми можемо запускати віртуальні машини, оскільки контейнери використовують менше ресурсів.

На відміну від віртуальних машин, які можуть спілкуватися з апаратним забезпеченням хоста (наприклад, адаптер Ethernet для створення додаткових віртуальних адаптерів), контейнери Docker працюють в ізольованому середовищі поверх ОС хоста. Навіть якщо ваш господар біжить Windows ОС, ви можете запускати образи Linux у контейнерах за допомогою Hyper-V, який автоматично створює невелику віртуальну машину для віртуалізації базового образу системи, у цьому випадку, Linux.
Навіщо використовувати Docker?
- Docker — це комп’ютерне програмне забезпечення, яке використовується для віртуалізації, щоб мати кілька Operaтингові системи працює на тому самому хості
- Docker — це клієнт-серверний тип програми, що означає, що у нас є клієнти, які ретранслюють на сервер
- Зображення Docker є «вихідним кодом» для наших контейнерів; ми використовуємо їх для будівництва
- Dockerfile має два типи реєстрів: 1.) загальнодоступні та 2) приватні реєстри
- Контейнери є організаційними одиницями тому Docker. Простіше кажучи, зображення — це шаблон, а контейнер — це копія цього шаблону. Ви можете мати кілька контейнерів (копій) одного зображення.
Docker Archiтектура
У цьому підручнику з контейнера Docker давайте поговоримо про основні компоненти Docker у Docker Archiтекстура:
Докер Двигун
Docker — це клієнт-серверний тип програми, що означає, що у нас є клієнти, які ретранслюють на сервер. Отже, демон Docker називається: dockerd — це механізм Docker, який представляє сервер. Демон докерів і клієнти можуть бути запущені на одному або віддаленому хості, і вони спілкуються через бінарний файл клієнта командного рядка, а також повний RESTful API для взаємодії з демоном: dockerd.
Зображення Docker
Зображення Docker є «вихідним кодом» для наших контейнерів; ми використовуємо їх для будівництва контейнерів. Вони можуть мати попередньо встановлене програмне забезпечення, яке прискорює розгортання. Вони портативні, і ми можемо використовувати існуючі зображення або створювати власні.
Реєстри Docker
Docker зберігає створені нами образи в реєстрах. Існують державні та приватні реєстри. Компанія Docker має публічний реєстр під назвою Докер-концентратор, де також можна приватно зберігати зображення. Docker hub містить мільйони зображень, якими ви можете почати користуватися зараз.
Докерські контейнери
Контейнери — це організаційні одиниці та одна з основних концепцій Docker. Коли ми створюємо образ і починаємо його запускати; ми працюємо в контейнері. Аналогія з контейнером використовується через портативність програмного забезпечення, яке ми використовуємо в нашому контейнері. Ми можемо переміщати його, іншими словами, «перевозити» програмне забезпечення, змінювати, керувати, створювати або позбутися його, знищити, так само, як вантажні кораблі можуть робити зі справжніми контейнерами.
Простіше кажучи, зображення — це шаблон, а контейнер — це копія цього шаблону. Ви можете мати кілька контейнерів (копій) одного зображення.
Нижче ми маємо зображення, яке чудово демонструє взаємодію між різними компонентами та принцип роботи технології контейнерів Docker.
У нас є кілька команд докерів, докер витягнути, запустити докер.. ми поговоримо про це пізніше.
Як встановити Docker на Linux/Ubuntu
Нижче наведено крок за кроком процес встановлення Docker у Linux/Ubuntu:
крок 1) Щоб установити Docker, нам потрібно використовувати пакети DEB команди Docker.
Для цього є певна передумова Ubuntu потрібні пакети.
Використовуйте наведену нижче команду для встановлення Ubuntu пакети
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*знак “\” не є обов’язковим, він використовується для нового рядка, при бажанні ви можете написати команду без використання “\” лише в одному рядку.
Крок 2) Додайте офіційний ключ Docker GPG із відбитком пальця.
Використовуйте наведену нижче команду Docker, щоб ввести ключ GPG
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Крок 3) Далі додайте репозиторій Docker APT.
Використовуйте наведену нижче команду Docker, щоб додати репозиторій
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Вам може бути запропоновано підтвердити, що ви хочете додати репозиторій і автоматично додати ключ GPG до вашого хосту.
Команда lsb_release має заповнити Ubuntu версії розповсюдження вашого хосту.
Крок 4) Після додавання ключа GPG,
Оновіть джерела APT за допомогою наведеної нижче команди Docker
$ sudo apt-get update
Тепер ми можемо встановити сам пакет Docker.
Крок 5) Після оновлення джерел APT,
Почніть установку пакетів Docker на Ubuntu за допомогою наведеної нижче команди Docker
$ sudo apt-get install docker-ce
Наведена вище команда встановлює Docker та інші додаткові необхідні пакети. До Docker 1.8.0 назва пакета була lxc-docker, а між Docker 1.8 і 1.13 назва пакета була docker-engine.
ПРИМІТКА: Докер для Windows Вимагається Windows 10 Pro або Enterprise версії 14393 або Windows сервер 2016 RTM для запуску
Як використовувати Docker за допомогою основних команд Docker
Ось як використовувати Docker за допомогою основних команд Docker:
Основна команда, яку ми повинні виконати після встановлення Docker, це $ docker info, як ми вже говорили.
$ sudo docker info
Ви повинні отримати аналогічний або наступний результат
Як ми бачимо у наведеному вище прикладі Docker, у нас є інформація про докер-контейнери, скільки їх запущено, призупинено чи зупинено, а також скільки зображень ми завантажили. Отже, давайте отримаємо наше перше зображення в цьому посібнику з команд Docker.
$ sudo docker pull alpine
За допомогою цієї команди ми наказуємо докеру завантажити образ alpine, отримати його з публічного реєстру, остання версія якого встановлена за замовчуванням.
*alpine — це мінімальний образ Docker на основі Alpine Linux із повним індексом пакетів і розміром лише 5 МБ.
Якщо ми хочемо запустити зображення як контейнер, ми використаємо наступну команду в цьому посібнику з посібника з Docker.
$ sudo docker run -i -t alpine /bin/bash
Якщо ми запустимо команду, нас буде направлено безпосередньо до терміналу alpine. Прапор -i тримає STDIN відкритим з контейнера, навіть якщо ви не приєднані до нього. Цей постійний стандартний ввід становить половину того, що вам потрібно для інтерактивної оболонки. Прапор -t є другою половиною, який наказує Docker призначити контейнеру псевдо-tty. Це пропонує нам інтерактивну оболонку в новому контейнері. Ми виходимо з контейнера за допомогою простої команди exit.
Тепер у цьому посібнику з основ Docker ми можемо спробувати запустити Ubuntu зображення.
$ sudo docker run -it ubuntu /bin/bash
Ви можете помітити, що докер перевіряє зображення локально, і якщо його немає, зображення автоматично витягується з бібліотеки зображень, і ми знову маємо запущену інтерактивну оболонку. Ми також можемо називати контейнери під час їх запуску.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
і ми знову виходимо.
Ми також можемо запускати раніше створений контейнер без інтерактивної оболонки.
$ sudo docker start container_name
І зупинити запис контейнера docker stop container_name
$ sudo docker stop container_name
Якщо ми хочемо побачити всі запущені контейнери, ми просто запускаємо
$ docker ps
І для всіх контейнерів ми додаємо «- a» в кінці тієї самої команди, як цей докер ps -a.
Ця команда показує ідентифікатор контейнера, який образ використовується під час створення, стан роботи, відкриті порти та випадково згенеровану назву для контейнера для легшого керування.
Коли ми запускаємо контейнери, ми також хотіли б знати, скільки ресурсів вони використовують, для цього ми можемо використовувати команду.
$ docker stats
Ви також можете побачити, які зображення ми завантажили локально, і інформацію про них.
$ sudo docker images
Команда у наведеному вище прикладі Docker відображає зображення докера з тегом, який показує нашу версію зображення, ідентифікатор зображення, коли було створено та розмір зображення.
Що таке віртуалізація?
Раніше процес розгортання сервісу був повільним і болісним. По-перше, розробники писали код; потім операційна команда розгортала його на голих машинах, де їм доводилося шукати версії бібліотек, латки та мовні компілятори, щоб код працював. Якщо були якісь баги або помилки, процес починався спочатку, розробники виправляли це, а потім знову була оперативна група для розгортання.
Зі створенням гіпервізорів відбулося покращення. Гіпервізорів є кілька Віртуальні машини або віртуальні машини на одному хості, які можуть бути запущені або вимкнені. Віртуальні машини значно скоротили час очікування для розгортання коду та виправлення помилок, але справжньою зміною стали контейнери Docker.
Важливі команди Docker
Нижче наведено важливі команди Docker:
Command | Описи конструкції |
---|---|
інформація про докер | Інформаційне командування |
докер тягнути | Завантажте зображення |
docker run -i -t image_name /bin/bash | Запустити зображення як контейнер |
docker запустити наш_контейнер | Стартовий контейнер |
docker зупинити назву_контейнера | Зупинити контейнер |
Докер ПС | Список усіх запущених контейнерів |
статистика докера | Інформація про контейнер |
Докер зображення | Список завантажених зображень |
Очищення докера | Закрийте всі запущені контейнери. |
Також читайте Питання та відповіді на співбесіді з докером як для свіжих, так і для досвідчених професіоналів.
Підсумки
- Docker — це платформа розробки програмного забезпечення для віртуалізації з кількома Operaсистеми, що працюють на одному хості. Це допомагає розділити інфраструктуру та програми для швидкої доставки програмного забезпечення.
- Docker Archiтекстура: Механізм Docker, зображення Docker, реєстри Docker, контейнери Docker.
- Двигун Docker: Docker — це клієнт-серверний тип програми, що означає, що у нас є клієнти, які ретранслюють на сервер. Отже, демон Docker називається: dockerd — це механізм Docker, який представляє сервер.
- Зображення Docker: Зображення Docker є «вихідним кодом» для наших контейнерів; ми використовуємо їх для будівництва контейнерів. Вони можуть мати попередньо встановлене програмне забезпечення, яке прискорює розгортання. Вони портативні, і ми можемо використовувати існуючі зображення або створювати власні.
- Реєстри Docker: Docker зберігає створені нами образи в реєстрах. Існують державні та приватні реєстри. Компанія Docker має загальнодоступний реєстр під назвою Docker hub, де ви також можете приватно зберігати зображення. Docker hub містить мільйони зображень, якими ви можете почати користуватися зараз.
- Контейнери Docker: Контейнери — це організаційні одиниці та одна з основних концепцій Docker. Коли ми створюємо образ і починаємо його запускати; ми працюємо в контейнері. Аналогія з контейнером використовується через портативність програмного забезпечення, яке ми використовуємо в нашому контейнері.