Перейти к содержимому

Как установить Docker Ubuntu 20.04

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

Установку Docker мы будем производить на базе серверной операционной системы 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

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

[email protected]:/#

Теперь мы находимся в контейнере и можем устанавливать все что нам может потребоваться. Давайте установим консольный файловый менеджер mc, но перед установкой обязательно обновим список пакетов 

apt-get update

apt-get install mc

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

exit

Управление контейнерами

Просмотр списка активных контейнеров 

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 , скачивать, создавать, удалять и изменять контейнеры. И самое главное, в этом нет ничего сложного.