Предварительные требования
Перед тем, как установить 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 — это не просто инструмент, это новая парадигма в управлении приложениями, которая помогает решать множество традиционных проблем с развертыванием и масштабированием.