Як встановити Docker на Ubuntu, CentOS, Debian і Windows

Інструкція з покрокової установки Docker на вашу улюблену операційну систему.

Docker – це проект з відкритим вихідним кодом, який дозволяє створювати, тестувати, розгортати та керувати програмами у вигляді самодостатніх, переносних контейнерів. Зазвичай, образи контейнерів включають в себе всі необхідні ресурси для коректної роботи програми.

Сьогодні Docker є популярним інструментом для розгортання та управління застосунками як контейнерами, ефективно вирішуючи проблеми сумісності. Ця технологія надає можливість встановлювати програми та сервіси на різноманітних комп’ютерах, незалежно від апаратного забезпечення та операційної системи. Таким чином, ви можете запускати ці образи на різних комп’ютерних системах, за умови наявності встановленого Docker. Типові приклади образів включають Nginx, MariaDB, WordPress та багато інших.

Docker принципово відрізняється від традиційних віртуальних машин.

У цьому керівництві ви отримаєте знання про те, як встановити Docker на наступних операційних системах:

  • Ubuntu
  • Debian
  • CentOS
  • Windows

В більшості випадків, кроки встановлення схожі для кожної операційної системи, однак, в різних версіях можуть бути незначні відмінності.

Методи встановлення Docker

Існує три основних способи установки Docker, вибір яких залежить від конкретної ситуації та середовища, які розглянемо нижче.

  • Використання репозиторіїв Docker: це простий спосіб встановлення та оновлення, який є рекомендованим для більшості онлайн-встановлень.
  • Завантаження, встановлення та оновлення вручну: цей метод підходить для комп’ютерів без доступу до інтернету.
  • Застосування автоматизованих скриптів: використовується в середовищах розробки та тестування.

В даній статті ми сфокусуємося на встановленні Docker за допомогою репозиторіїв. Ви дізнаєтеся, як інсталювати та оновити інструмент з офіційних джерел Docker. Звісно, можна завантажувати файли з репозиторію операційної системи, але там можуть бути не найсвіжіші версії, тому радимо використовувати офіційне джерело Docker, якщо це можливо.

Інсталяція Docker на Ubuntu

Для прикладу в даній статті буде використано Ubuntu 18.04.

Необхідні умови

Крок 1: Оновлення локальної бази даних

Перед початком установки Docker, оновіть список доступних пакетів:

sudo apt update

Крок 2: Встановлення залежностей, що підтримують HTTPS

Встановіть пакети, які забезпечують передачу файлів через HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Розглянемо, що робить кожна з цих команд:

  • apt-transport-https: забезпечує можливість передачі даних через HTTPS.
  • ca-сертифікати: дозволяє комп’ютеру або браузеру перевіряти сертифікати безпеки.
  • curl: інструмент для передачі файлів.
  • software-properties-common: додає інструменти для управління програмним забезпеченням.

Крок 3: Додавання GPG ключа Docker

Далі додамо GPG ключ, який гарантує автентичність інсталяційних файлів:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

Крок 4: Додавання репозиторію Docker

На цьому етапі додаємо репозиторій Docker до джерел apt:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Крок 5: Оновлення репозиторіїв

Оновлюємо базу даних пакетів з доданого репозиторію Docker:

sudo apt update

Для підтвердження того, що інсталяція буде виконана з офіційного репозиторію Docker, введіть команду:

apt-cache policy docker-ce

Результат має бути наступним:

Вивід apt-cache policy docker-ce

docker-ce:
  Installed: (none)
  Candidate: 5:19.03.5~3-0~ubuntu-bionic
  Version table:
 5:19.03.5~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 5:19.03.4~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 5:19.03.3~3-0~ubuntu-bionic 500

З результату видно, що docker-ce ще не встановлено. Однак, вивід показує цільову операційну систему та номер версії Docker. Зверніть увагу, що номери версій можуть відрізнятися в залежності від часу встановлення.

Крок 6: Встановлення останньої версії Docker

Після підтвердження, використовуйте наступну команду для встановлення Docker:

sudo apt install docker-ce

Це встановить Docker, запустить демон та налаштує його автоматичний запуск при завантаженні системи. Для перевірки, що Docker активний та працює, запустіть:

sudo systemctl status docker

В разі успішного встановлення та запуску, команда відобразить наступний результат:

    $ sudo systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
   Active: active (running) since Sat 2019-12-14 07:46:40 UTC; 50s ago
 Docs: https://docs.docker.com
 Main PID: 2071 (dockerd)
Tasks: 8
   CGroup: /system.slice/docker.service
   └─2071 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain

Цей вивід підтверджує, що Docker успішно встановлено, є активним та працює.

Інсталяція Docker на CentOS

Необхідні умови

  • Стабільна версія CentOS 7
  • Користувач з правами Sudo

Рекомендовано використовувати останню версію інсталяційного пакета Docker з офіційного репозиторію.

Крок 1: Оновлення бази даних пакетів

Першим кроком є оновлення бази даних пакетів за допомогою команди:

sudo yum update

Крок 2: Додавання репозиторію Docker та встановлення Docker

Після оновлення, додаємо офіційний репозиторій Docker та встановлюємо останню версію Docker. Для цього використовуємо команду:

curl -fsSL https://get.docker.com/ | sh

Крок 3: Запуск Docker та перевірка його версії

Після завершення встановлення, запускаємо демон Docker:

sudo systemctl start docker

Для перевірки стану Docker, введіть:

sudo systemctl status docker

Вивід має бути наступним:

docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-12-09 09:54:50 UTC; 7s ago
 Docs: https://docs.docker.com
 Main PID: 9194 (dockerd)
Tasks: 8
   Memory: 44.0M
   CGroup: /system.slice/docker.service
   └─9194 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...

Інсталяція Docker на Debian

Для отримання останньої версії, встановлюйте її з офіційного репозиторію Docker.

Необхідні умови

  • Операційна система Debian 9
  • Користувач з правами Sudo

Крок 1: Оновлення системи

Спочатку оновіть список встановлених пакетів:

sudo apt update

Крок 2: Встановлення пакетів, необхідних для apt через HTTPS

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

Крок 3: Додавання GPG ключа

Тепер потрібно додати GPG ключ Docker до системи Debian, щоб гарантувати автентичність завантажень:

Для додавання ключа GPG з офіційного репозиторію Docker, запустіть:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Крок 4: Додавання репозиторію Docker до APT

На цьому кроці додамо репозиторій Docker до джерел apt:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Крок 5: Оновлення бази даних пакетів

Тепер оновимо базу даних пакетів з пакетами Docker з доданого репозиторію:

sudo apt update

Крок 6: Перевірка джерела встановлення

Наступна команда переконається, що ви встановлюєте Docker з офіційного репозиторію Docker, а не з репозиторію Debian, який може бути застарілим:

apt-cache policy docker-ce

Результат має бути схожий на наступний, проте, номер версії Docker може відрізнятися:

  Installed: (none)
  Candidate: 5:19.03.5~3-0~debian-stretch
  Version table:
 5:19.03.5~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
 5:19.03.4~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
 5:19.03.3~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
 5:19.03.2~3-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
..
..
..
17.03.1~ce-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
 17.03.0~ce-0~debian-stretch 500
500 https://download.docker.com/linux/debian stretch/stable amd64 Packages

Як видно, docker-ce ще не встановлено. Результат показує, що інсталяція буде відбуватися з офіційного репозиторію Docker для Debian 9 (stretch).

Крок 7: Встановлення Docker

Тепер ми готові встановити Docker за допомогою наступної команди:

sudo apt install docker-ce

Це встановить Docker, запустить демон та налаштує його автоматичний запуск при завантаженні. Після завершення інсталяції, переконайтеся, що він працює:

sudo systemctl status docker

В разі успішної інсталяції, служба покаже, що вона активна та працює.

Вивід:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
   Active: active (running) since Mon 2019-12-09 11:48:32 UTC; 41s ago
 Docs: https://docs.docker.com
 Main PID: 17486 (dockerd)
   CGroup: /system.slice/docker.service
   └─17486 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain

Інсталяція Docker на Windows

Розглянемо, як інсталювати корпоративну версію Docker на Windows Server 2016.

Крок 1: Встановлення модуля Docker Powershell

Відкрийте вікно PowerShell командного рядка з правами адміністратора та скористайтеся наступною командою для встановлення модуля DockerMsftProvider. Це модуль Docker Powershell для пошуку, встановлення та оновлення образів Docker.

Якщо використовується обліковий запис адміністратора, команда відобразиться як:

PS C:UsersAdministrator> install-module -name DockerMsftProvider -Force

Це дасть результат, показаний нижче:

NuGet provider is required to continue
PowerShellGet requires NuGet provider version ‘2.8.5.201’ or newer to interact with NuGet-based repositories. The NuGet
provider must be available in ‘C:Program FilesPackageManagementProviderAssemblies’ or
‘C:UsersAdministratorAppDataLocalPackageManagementProviderAssemblies’. You can also install the NuGet provider by
running ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes [N] No [S] Suspend [?] Help (default is “Y”): y
Type Y for Yes

Крок 2: Встановлення пакета Docker

Після встановлення модуля, ми готові до встановлення пакета Docker:

PS C:UsersAdministrator>Install-Package Docker –Providername DockerMsftProvider –Force

Це встановить пакет Docker на комп’ютер, але не запустить службу. Тому, потрібно перезавантажити комп’ютер, щоб увімкнути функцію контейнера:

PS C:UsersAdministrator>Restart-Computer

Після перезавантаження, перевірте встановлення та версію, запустивши:

PS C:UsersAdministrator>docker-version

Вивід:

Client: Docker Engine – Enterprise
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 08:00:16
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine – Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: false

PS C:UsersAdministrator>

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

docker run hello-world:nanoserver-sac2016

Якщо все встановлено та запущено належним чином, команда поверне наступний результат:

PS C:UsersAdministrator> docker run hello-world:nanoserver-sac2016

Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(windows-amd64, nanoserver-sac2016)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run a Windows Server container with:
PS C:> docker run -it mcr.microsoft.com/windows/servercore powershell
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

Зверніть увагу, що потрібно використовувати образ контейнера Windows за замовчуванням. Якщо вам потрібно запустити образи контейнерів Linux, використовуйте Docker Daemon в експериментальному режимі, який доступний в десктопній версії.

Висновок

Сподіваємося, що тепер ви розумієте, як просто встановити Docker. Після встановлення, попрактикуйтесь, щоб ознайомитись з ним, а якщо вам потрібно навчання на основі відео, перегляньте цей курс.