Skip to main content

Установка Docker Offline [RPM]

Установка Docker в формате Offline для RPM Based OS                                                                                      

Docker Offline установка пакетовдля RPMUbuntu (DEB-based)

ДобавляемУниверсальная актуальныйинструкция репозиторийдля Ubuntu зависимости20.04, от22.04, дистрибутива)24.04

ДляШаг Fedora

1:
sudoОпределение teeверсии /etc/yum.repos.d/docker-ce.repo << 'EOF'
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable/
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
EOF

Для CentOS / RHEL / Rocky / Alma

sudo tee /etc/yum.repos.d/docker-ce.repo << 'EOF'
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable/
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
EOF

Установка yum-utils (для работы с репозиториями)Ubuntu

# ДляАвтоматическое CentOSопределение 7кодового /имени RHELUbuntu
7
sudo yum installUBUNTU_VERSION=$(lsb_release -ycs)
yum-utilsecho "Версия Ubuntu: $UBUNTU_VERSION"

# ДляЕсли Fedoraкоманда /не CentOSработает, 8+укажите /вручную:
RHEL# 8+ / Rocky / Alma
sudo dnf install20.04 -y yum-utilsfocal, 22.04 - jammy, 24.04 - noble

ДобавляемШаг репозиторий2: черезДобавление yum-config-managerрепозитория Docker

# ДобавляемСоздание репозиторий Docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# Для Fedora используйте:
# sudo yum-config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Синхронизируем репозитории

sudo yum makecache

# Для Fedora / CentOS 8+ / RHEL 8+ можно использовать:
# sudo dnf makecache

Скачиваем Docker и все зависимости через yum

# Создаем папкупапки для пакетовключей
mkdir -p ~/docker-offline-packages
cd ~/docker-offline-packages

# Скачиваем пакеты и зависимости (работает на всех RPM-системах)
sudo yum install --downloadonly --downloaddir=$(pwd) \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-compose-plugin \
    docker-buildx-plugin

# Для Fedora / CentOS 8+ / RHEL 8+ можно использовать dnf:
# sudo dnf download --resolve --alldeps \
#     docker-ce \
#     docker-ce-cli \
#     containerd.io \
#     docker-compose-plugin \
#     docker-buildx-plugin

# Дополнительно скачиваем зависимости для container-selinux (если нужно)
sudo yum install --downloadonly --downloaddir=$(pwd) container-selinux

Копирование на целевой сервер

sudo scp -r ~/docker-offline-packages user@IP:/home/user/

Установка на целевом сервере

cd ~/docker-offline-packages

# Вариант 1: Установка через rpm (базовая, без разрешения зависимостей)
sudo rpm -ivh *.rpm
# Если возникают ошибки зависимостей, используйте флаг --nodeps:
# sudo rpm -ivh --nodeps *.rpm

# Вариант 2: Установка через yum (с разрешением зависимостей - РЕКОМЕНДУЕТСЯ)
sudo yum localinstall ./*.rpm -y

# Вариант 3: Для Fedora / CentOS 8+ / RHEL 8+ / Rocky / Alma
sudo dnf localinstall ./*.rpm -y

# Вариант 4: Альтернативная установка через yum (без localinstall)
sudo yum install ./*.rpm -y

# Проверка установленных пакетов
rpm -qa | grep docker

Запуск Docker

sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER

# Применяем изменения группы без перезагрузки
newgrp docker

Проверка установки

docker --version
docker compose version
sudo docker run hello-world

# Проверка статуса
sudo systemctl status docker

Полезные команды для работы с rpm

# Просмотр списка установленных Docker-пакетов
rpm -qa | grep docker

# Информация о конкретном пакете
rpm -qi docker-ce

# Список файлов в пакете
rpm -ql docker-ce

# Проверка зависимостей пакета (без установки)
rpm -qpR docker-ce-*.rpm

# Проверка целостности пакета
rpm -K docker-ce-*.rpm

Docker Offline установка пакетов DEB

Добавляем актуальный репозиторий (Ubuntu 24.04 Noble)

sudo tee /etc/apt/sources.list.d/docker-ce.list << 'EOF'
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
EOF

Добавляем GPG ключ

sudo mkdir -p /etc/apt/keyrings

# Добавление GPG ключа
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Добавление репозитория
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $UBUNTU_VERSION stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

СинхронизируемШаг репозитории3: Синхронизация репозиториев

sudo apt update

СкачиваемШаг 4: Скачивание Docker и ВСЕвсех зависимостизависимостей

# СоздаемСоздание папкупапки для пакетов
mkdir -p ~/docker-offline-packages
cd ~/docker-offline-packages

# СкачиваемСкачивание пакеты и зависимостипакетов
sudo apt-get download \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-compose-plugin \
    docker-buildx-plugin

# СкачиваемСкачивание ВСЕВСЕХ зависимостизависимостей для(включая этих пакетоврекомендованные)
apt-cache depends docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin | \
    grep -E "Depends|Recommends" | \
    awk '{print $2}' | \
    sort -u | \
    xargs sudo apt-get download 2>/dev/null || true

# Проверка количества скачанных пакетов
echo "Скачано $(ls -1 *.deb 2>/dev/null | wc -l) DEB-пакетов"

Шаг 5: Копирование на целевой сервер

# Замените user и IP на реальные значения
sudo scp -r ~/docker-offline-packages user@IP:/home/user/

# Альтернатива: архивирование для передачи любым способом
tar -czf docker-offline-packages.tar.gz ~/docker-offline-packages

Шаг 6: Установка на целевом сервере

cd ~/docker-offline-packages

sudo dpkg -i *.deb
# илиУстановка с разрешением зависимостей (рекомендуется)РЕКОМЕНДУЕТСЯ)
sudo apt install ./*.deb -y

# Альтернатива: установка через dpkg (если нет интернета)
# sudo dpkg -i *.deb

# Проверка установленных пакетов
dpkg -l | grep docker

Шаг 7: Запуск и настройка Docker

sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER

# Применение изменений группы без перезагрузки
newgrp docker

Шаг 8: Проверка установки

docker --version
docker compose version
sudo docker run hello-world

Docker Offline установка для CentOS/RHEL 8+ (Rocky, Alma)

Универсальная инструкция для CentOS 8+, RHEL 8+, Rocky, Alma

Шаг 1: Добавление репозитория Docker

# Установка утилит для управления репозиториями
sudo dnf install -y dnf-utils

# Добавление репозитория Docker
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Шаг 2: Синхронизация репозиториев

sudo dnf makecache

Шаг 3: Скачивание Docker и всех зависимостей

# Создание папки для пакетов
mkdir -p ~/docker-offline-packages
cd ~/docker-offline-packages

# Скачивание пакетов и всех зависимостей
sudo dnf download \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-compose-plugin \
    docker-buildx-plugin \
    container-selinux \
    --resolve --alldeps

# Проверка количества скачанных пакетов
echo "Скачано $(ls -1 *.rpm 2>/dev/null | wc -l) RPM-пакетов"

Шаг 4: Копирование на целевой сервер

# Замените user и IP на реальные значения
sudo scp -r ~/docker-offline-packages user@IP:/home/user/

# Альтернатива: архивирование для передачи любым способом
tar -czf docker-offline-packages.tar.gz ~/docker-offline-packages

Шаг 5: Установка на целевом сервере

cd ~/docker-offline-packages

# Установка с разрешением зависимостей (РЕКОМЕНДУЕТСЯ)
sudo dnf localinstall ./*.rpm -y

# Альтернатива: установка через rpm (если нет интернета)
# sudo rpm -ivh --nodeps *.rpm

# Проверка установленных пакетов
rpm -qa | grep docker

Шаг 6: Запуск и настройка Docker

sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER

# Применение изменений группы без перезагрузки
newgrp docker

Шаг 7: Проверка установки

docker --version
docker compose version
sudo docker run hello-world