fbpx
Перейти до вмісту

Як встановити Docker Ubuntu 20.04

Docker – програмне забезпечення для автоматизації розгортання та управління додатками в середовищах із підтримкою контейнеризації. Дає змогу “упакувати” застосунок з усім його оточенням і залежностями в контейнер, який можна перенести на будь-яку Linux-систему з підтримкою cgroups у ядрі, а також надає середовище з управління контейнерами.

нсталяцію Docker ми будемо проводити на базі серверної операційної системи Ubuntu 20.04

Для установки вам понадобится выделенный либо виртуальный сервер с установленной Ubuntu 20.04

Для інсталяції вам знадобиться виділений або віртуальний сервер зі встановленою Ubuntu 20.04

Інсталяція

Перед початком інтеграції оновимо базу пакети

sudo apt update

Наступним кроком буде встановлення необхідних пакетів для коректної роботи docker 

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

Додаємо ключ GPG офіційного репозиторію Docker:

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

Підключаємо репозиторій Docker 

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

Після додавання нового репозиторію обов’язково оновимо базу пакетів, інакше при виконанні команди встановлення система не знатиме що цей пакет доступний

sudo apt update

Приступимо до встановлення 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>

     Active: active (running) since Fri 2020-07-10 09:11:13 UTC; 31s ago

TriggeredBy: ● docker.socket

       Docs: https://docs.docker.com

   Main PID: 55695 (dockerd)

      Tasks: 9

     Memory: 37.1M

     CGroup: /system.slice/docker.service

             └─55695 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con>

На цьому інсталяція Docker завершена. 

Запуск першого Docker контейнера

Образи контейнерів Docker завантажуються з Docker Hub

Завантажимо тестовий контейнер hello-world

docker run hello-world

Після виконання команди почнеться завантаження образу і його встановлення

latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
    The Docker client contacted the Docker daemon.
    The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
    The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Для пошуку образів у Docker Hub використовується команда search і ключове слово пошуку. Наприклад, виведення всіх контйєнерів, у яких згадується web

docker search web

Ви отримаєте наступний список 

NAME                           DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED

php                            While designed for web development, the PHP …   5354                [OK]              

django                         Django is a free web application framework, …   976                 [OK]              

redmine                        Redmine is a flexible project management web…   896                 [OK]              

drupal                         Drupal is an open source content management …   779                 [OK]              

mongo-express                  Web-based MongoDB admin interface, written w…   725                 [OK]              

jetty                          Jetty provides a Web server and javax.servle…   338                 [OK]              

Для того щоб завантажити потрібний контейнер, достатньо виконати pull і вказати ім’я контейнера

docker pull php 

Після завантаження контейнера його потрібно буде запустити командою run

docker run php 

Ще одна команда, яка може стати вам у пригоді, – перегляд завантажених образів. 

docker images

Вона виводить усі образи, які були завантажені на сервер 

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

php                 latest              da48a8a02f6e        11 hours ago        405MB

hello-world         latest              bf756fb1ae65        6 months ago        13.3kB

Як простий приклад роботи з контейнерами, я покажу вам, як запустити ubuntu в контейнері під ubuntu, під’єднатися до контейнера і встановити програму в контейнері.

Інсталяція контайнер з ubuntu 

docker pull ubuntu

Запускаємо контенер з ubuntu і підключаємося до нього в командний рядок 

docker run -it ubuntu

Після підключення в контейнер ви побачите запрошення такого вигляду 

root@997d1ad717ec:/#

Тепер ми перебуваємо в контейнері і можемо встановлювати все, що нам може знадобитися. Давайте встановимо консольний файловий менеджер mc, але перед встановленням обов’язково оновимо список пакетів 

apt-get update

apt-get install mc

Для того щоб вийти з контейнера, достатньо виконати команду exit

exit

Керування контейнерами docker

Перегляд списку активних контейнерів 

docker ps

Результат буде наступний 

CONTAINER ID        IMAGE               COMMAND             CREATED     

Перегляд контейнерів системи 

docker ps -a

Ця команда виведе приблизно такий текст 

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES

997d1ad717ec        ubuntu              "/bin/bash"              About an hour ago   Exited (1) About a minute ago                       interesting_lamarr

3f2b8dd64649        php                 "docker-php-entrypoi…"   About an hour ago   Exited (0) About an hour ago                        zealous_ritchie

2ac5f9e2f820        hello-world         "/hello"                 2 hours ago         Exited (0) 2 hours ago                              hopeful_kilby

Список останніх створених контейнерів 

docker ps -l

Запуск контейнера проводиться командою start + ID контейнера або ім’я контейнера . Для прикладу запустимо контейнер з ubuntu його ID 997d1ad717ec , а ім’я interesting_lamarr

docker start 997d1ad717ec

Тепер командою docker ps перевіримо статус контейнера 

docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

997d1ad717ec        ubuntu              "/bin/bash"         About an hour ago   Up 39 seconds                           interesting_lamarr

Для зупинки контейнера виконаємо команду docker stop + ID або ім’я контейнера

docker stop interesting_lamarr

Для видалення контейнера використовується команда docker rm + ID або ім’я контейнера 

docker rm interesting_lamarr


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