Instalação offline do Docker 17.03.2-ce no Linux com inicialização automática

Preparando o pacote offline do Docker

Obtenha a distribuição compactada oficial do Docker para instalação sem conexão. Neste exemplo, utilizamos o arquivo docker-17.03.2-ce.tgz.

Configurando o serviço systemd para o Docker

Crie um arquivo chamado docker.service com o seguinte conteúdo:

[Unit]
Description=Mecanismo de Containers Docker
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

Scripts de instalação e remoção

Script de instalação

Crie um arquivo instalar.sh com o código abaixo:

#!/bin/bash
set -e

echo "Extraindo o pacote Docker..."
tar -xf "$1"

echo "Copiando binários para /usr/bin..."
sudo cp docker/* /usr/bin/

echo "Instalando o serviço systemd..."
sudo cp docker.service /etc/systemd/system/docker.service
sudo chmod 644 /etc/systemd/system/docker.service

echo "Recarregando e iniciando o serviço..."
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

echo "Verificação da instalação:"
docker version --format '{{.Server.Version}}'

Script de remoção

Crie um arquivo remover.sh:

#!/bin/bash
set -e

echo "Parando o serviço Docker..."
sudo systemctl stop docker
sudo systemctl disable docker

echo "Removendo arquivos do sistema..."
sudo rm -f /etc/systemd/system/docker.service
sudo rm -f /usr/bin/docker*

echo "Atualizando o systemd..."
sudo systemctl daemon-reload

echo "Docker removido com sucesso."

Executando a instalação

Execute o script de instalação passando o pacote como argumento:

bash instalar.sh docker-17.03.2-ce.tgz

Otimizando com espelhos locais

Para acelerar o download de imagens na China, configure um daemon.json com espelhos confiáveis. Crie ou edite o arquivo /etc/docker/daemon.json:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

Reinicie o serviço Docker para aplicar as alterações:

sudo systemctl restart docker

Verificação final

Confirme se o Docker está em execução e configurado para iniciar com o sistema:

systemctl status docker
docker --version

Tags: Docker Linux systemd instalação offline Containerização

Publicado em 7-19 12:39