Установка Docker на Linux для разработчиков

Установка Docker на Linux Докер

Предварительные требования

Перед тем, как установить Docker, убедитесь, что ваша система соответствует следующим требованиям:

  • 64-битная версия Linux
  • Ядро Linux версии 3.10 или новее
  • Доступ к привилегированному пользователю (sudo или root)
  • Доступ в интернет для загрузки пакетов
  • Минимум 4 ГБ оперативной памяти (рекомендуется)

Установка Docker на Ubuntu

Ubuntu — один из самых популярных дистрибутивов Linux, и установка Docker здесь максимально проста. Следуйте этим шагам, чтобы установить Docker на Ubuntu 20.04 LTS или выше:

1. Обновите информацию о пакетах

Перед установкой любого нового программного обеспечения рекомендуется обновить локальный индекс пакетов:

sudo apt update

2. Установите необходимые пакеты

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y

3. Добавьте официальный GPG-ключ Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. Настройте репозиторий Docker

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. Обновите информацию о пакетах с новым репозиторием

sudo apt update

6. Установите Docker Engine

sudo apt install docker-ce docker-ce-cli containerd.io -y

7. Проверьте установку

sudo systemctl status docker

Вы должны увидеть, что сервис активен и работает.

8. Запустите тестовый контейнер

sudo docker run hello-world

Если все настроено правильно, вы увидите приветственное сообщение от Docker.

Установка Docker на Debian

Если вы используете Debian, процесс установки Docker очень похож на Ubuntu:

1. Обновите информацию о пакетах

sudo apt update

2. Установите необходимые пакеты

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y

3. Добавьте официальный GPG-ключ Docker

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. Настройте репозиторий Docker

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. Обновите информацию о пакетах

sudo apt update

6. Установите Docker для Linux

sudo apt install docker-ce docker-ce-cli containerd.io -y

7. Проверьте установку

sudo systemctl status docker
sudo docker run hello-world

Установка Docker на CentOS/RHEL

Для CentOS 7 или 8, а также RHEL, процесс установки отличается от Debian-подобных систем:

1. Удалите старые версии (если есть)

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. Установите необходимые пакеты

sudo yum install -y yum-utils

3. Настройте репозиторий Docker

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. Установите Docker Engine

sudo yum install docker-ce docker-ce-cli containerd.io -y

5. Запустите и включите Docker

sudo systemctl start docker
sudo systemctl enable docker

6. Проверьте установку

sudo systemctl status docker
sudo docker run hello-world

Установка Docker на Fedora

Для пользователей Fedora процесс установки Docker следующий:

1. Удалите старые версии (если есть)

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. Установите необходимые пакеты

sudo dnf -y install dnf-plugins-core

3. Настройте репозиторий Docker

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

4. Установите Docker

sudo dnf install docker-ce docker-ce-cli containerd.io -y

5. Запустите и включите Docker

sudo systemctl start docker
sudo systemctl enable docker

6. Проверьте установку

sudo systemctl status docker
sudo docker run hello-world

Настройка Docker после установки

После того как вы успешно установили Docker для Linux, рекомендуется выполнить дополнительные шаги по настройке:

1. Добавьте пользователя в группу Docker

По умолчанию, команды Docker требуют привилегий root или использования sudo. Чтобы избежать постоянного ввода sudo, добавьте своего пользователя в группу docker:

sudo usermod -aG docker $USER

После этого выйдите из системы и войдите снова, чтобы изменения вступили в силу. Теперь вы можете запускать команды Docker без sudo.

2. Настройте автозапуск Docker

sudo systemctl enable docker

3. Установите Docker Compose

Docker Compose — мощный инструмент для определения и запуска многоконтейнерных приложений Docker. Установить его можно так:

sudo apt install docker-compose-plugin -y    # для Ubuntu/Debian
# или
sudo yum install docker-compose-plugin -y    # для CentOS/RHEL
# или
sudo dnf install docker-compose-plugin -y    # для Fedora

Альтернативно можно установить Docker Compose из GitHub:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4. Проверьте версию Docker Compose

docker-compose version
# или
docker compose version # для версии 2.x

Базовые команды Docker

Теперь, когда вы установили Docker, вот несколько основных команд, которые помогут вам начать работу:

1. Проверка версии Docker

docker --version

2. Поиск образов в Docker Hub

docker search ubuntu

3. Загрузка образа

docker pull ubuntu

4. Запуск контейнера

docker run -it ubuntu bash

5. Просмотр запущенных контейнеров

docker ps

6. Просмотр всех контейнеров (включая остановленные)

docker ps -a

7. Остановка контейнера

docker stop <container_id>

8. Удаление контейнера

docker rm <container_id>

9. Просмотр локальных образов

docker images

10. Удаление образа

docker rmi <image_id>

Практическое применение Docker

Установив Docker для Linux, вы можете использовать его для множества практических задач:

1. Запуск веб-сервера в контейнере

docker run -d -p 80:80 nginx

Эта команда запускает контейнер Nginx и перенаправляет порт 80 хоста на порт 80 контейнера.

2. Создание собственного образа с Dockerfile

Создайте файл с названием Dockerfile с следующим содержимым:

FROM ubuntu
RUN apt update && apt install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Затем соберите образ:

docker build -t my-nginx-image 

И запустите контейнер из вашего образа:

docker run -d -p 8080:80 my-nginx-image

3. Использование Docker Compose для многоконтейнерных приложений

Создайте файл docker-compose.yml:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  database:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

Запустите многоконтейнерное приложение:

docker-compose up -d

Устранение распространенных проблем при установке Docker

При установке Docker могут возникать различные проблемы, решить которых можно Вот решения наиболее распространенных из них:

1. Проблема: «Permission denied»

Если вы получаете ошибку «Permission denied» при попытке использовать Docker без sudo:

Решение: Перезагрузите систему или выполните: newgrp docker

2. Проблема: «Cannot connect to the Docker daemon»

Решение: Проверьте, запущен ли демон Docker: sudo systemctl start docker

3. Проблема: «Package docker-ce is not available»

Решение: Убедитесь, что репозитории настроены правильно

4. Проблема: «Error starting daemon: Error initializing network controller»

Решение: Перезапустите Docker: sudo systemctl restart docker

Оптимизация использования Docker

После установки Docker вы можете выполнить дополнительные шаги для оптимизации его использования:

1. Настройте хранилище Docker

Создайте файл /etc/docker/daemon.json:

sudo mkdir -p /etc/docker

Добавьте следующее содержимое:

{
  "data-root": "/path/to/new/location"
}

Затем перезапустите Docker:

sudo systemctl restart docker

2. Ограничение ресурсов для контейнеров

docker run -d --name myapp --memory="512m" --cpus="1.0" myapp:latest

3. Настройка логирования

Добавьте следующее в /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Установка Docker на Linux открывает двери в мир контейнеризации, делая разработку, тестирование и развертывание приложений значительно проще и эффективнее. Следуя этому руководству, вы успешно установили Docker, настроили его и познакомились с основными командами и концепциями.

Docker для Linux — это не просто инструмент, это новая парадигма в управлении приложениями, которая помогает решать множество традиционных проблем с развертыванием и масштабированием.

Оцените статью
Мир Линукс