Если вам кажется, что установка Docker на Ubuntu — это сложный и долгий процесс, попробуйте настроить Docker по нашей инструкции. Мы поможем разобраться, что такое Docker и контейнеры, покажем простой путь настройки Docker на Ubuntu 18.04 и 20.04 и расскажем, как работать в утилите docker.
Что такое Docker
Docker – это платформа с открытым исходным кодом, которая позволяет оптимизировать управление разработкой, тестированием и размещением веб-приложений. В основе работы Docker лежит упаковка программ (вместе с окружением и зависимостями) в виртуальные блоки — контейнеры.
Контейнеры можно развертывать, масштабировать и перемещать в разные среды (например, персональные компьютеры и дата-центры) без потери работоспособности кода. Также с помощью контейнера можно отделить инфраструктуру приложения от самого приложения и работать только с ней.
Контейнер можно быстро создать и так же быстро удалить. Чтобы создать контейнер, нужно активировать образ docker — шаблонный элемент. Образы запускаются из публичного репозитория Docker Hub. После запуска срабатывает разметка файловой системы, создается сетевой интерфейс и назначается IP-адрес. После этого контейнер готов к работе.
На одном хосте можно параллельно запускать около тысячи контейнеров. Чтобы управлять сразу несколькими контейнерами, из которых построен проект, можно установить пакетный менеджер Docker Compose.
Преимущества Docker:
- работает не только на Linux, но и на Windows и MacOS,
- не нужно устанавливать такие вспомогательные инструменты, как Elasticsearch, PostgreSQL и Redis — они запускаются сразу из контейнера,
- простое масштабирование и инкапсуляция,
- с платформой можно работать на виртуальном сервере.
Как установить Docker на Ubuntu
Важно
Перед началом установки проверьте системные требования:
- 64-битная архитектура,
- ядро не ниже версии 3.10 — подойдёт Ubuntu версии 16.04 и выше.
Установка Docker в дистрибутиве Ubuntu состоит из 12 шагов. Рассмотрим каждый из них подробно.
-
1
Обновите пакеты:
sudo apt update
-
2
Установите пакеты, которые необходимы для работы пакетного менеджера apt по протоколу HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
3
Добавьте GPG-ключ репозитория Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
4
Добавьте репозиторий Docker:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
-
5
Обновите пакеты:
sudo apt update
-
6
Переключитесь в репозиторий Docker, чтобы его установить:
apt-cache policy docker-ce
В терминале должна появиться подобная информация с версией Docker:
-
7
Установите Docker:
sudo apt install docker-ce
-
8
Проверьте работоспособность программы:
sudo systemctl status docker
В терминале должна появиться информация о том, что Docker активен:
Docker install Ubuntu
-
9
Выведите на экран список сетевых интерфейсов:
ip a
Вывод будет иметь следующий вид:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:1b:46:51 brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 192.168.0.175/24 metric 100 brd 192.168.0.255 scope global dynamic ens3 valid_lft 77866sec preferred_lft 77866sec inet6 fe80::f816:3eff:fe1b:4651/64 scope link valid_lft forever preferred_lft forever 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:0e:8c:cd:2a brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever
В списке сетевых интерфейсов ens3 является основным и имеет MTU (максимальный размер блока передаваемых данных) 1450. Однако Docker создал интерфейс docker0 с MTU 1500. Это может стать причиной задержек при подключении интернет-сервисам. Чтобы это исправить, необходимо изменить конфигурационный файл Docker.
-
10
Откройте конфигурационный файл Docker:
sudo nano /lib/systemd/system/docker.service
-
11
Найдите строку:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Замените ее на следующее значение:
ExecStart=/usr/bin/dockerd --mtu 1450 -H fd:// --containerd=/run/containerd/containerd.sock
Затем сохраните изменения и закройте файл.
-
12
Если вы используете Docker Compose, перейдите в директорию вашего проекта и откройте файл docker-compose.yml. Приведите его к следующему виду:
networks: default: driver: bridge driver_opts: com.docker.network.driver.mtu: 1450
Затем сохраните изменения и закройте файл.
-
13
Перезапустите Docker. Для этого поочередно выполните команды:
sudo systemctl daemon-reload sudo service docker restart
-
14
Чтобы использовать утилиту docker, нужно добавить ваше имя пользователя в группу Docker. Для этого введите в терминале команду:
sudo usermod -a -G docker user
Вместо user укажите имя пользователя.
-
15
Введите:
su - user
Где user — имя пользователя.
- 16 Задайте пароль пользователя.
-
17
Проверьте доступ к образам Docker:
docker run hello-world
Если вы увидите сообщение «Hello from Docker!», то всё установлено верно.
Готово, вы установили Docker в Ubuntu. Теперь вы можете использовать утилиту docker.
Как работать с утилитой docker
Синтаксис docker выглядит следующим образом:
docker опции команда аргументы
Чтобы посмотреть все доступные опции и команды, введите в терминале:
docker
Популярные команды docker
- Найти и посмотреть список доступных образов:
docker search поисковый-запрос
Например, команда docker search ubuntu
выведет список доступных образов из репозитория Ubuntu.
- Загрузить образ:
docker pull название-образа
Например, docker pull ubuntu
- Посмотреть список загруженных образов:
docker images
- Запустить контейнер:
docker run -i -t название-образа
Например, docker run -i -t ubuntu
- Посмотреть активные контейнеры:
docker ps имя-контейнера
- Запустить остановленный контейнер:
docker start имя-контейнера
- Остановить запущенный контейнер:
docker stop имя-контейнера
- Удалить контейнер:
docker rm имя-контейнера
Итак, вы узнали про образы и контейнеры, научились устанавливать Docker на Ubuntu и познакомились с основными командами для работы в утилите docker.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊