Instalação Offline do Docker no Sistema Kylin/Ubuntu para arquitetura arm64 com Auto-início

Este guia aborda a instalação offline do Docker em sistemas baseados em Debian, como o Kylin OS ou Ubuntu, para processadores arm64, incluindo a configuração para inicialização automática após a reinicialização do sistema.

Obtenção dos Pacotes Offline

Os pacotes de instalação offline do Docker podem ser baixados do repositório oficial. Para a arquitetura arm64, certifique-se de selecionar os pacotes correspondentes a essa estrutura de CPU.

# Verificar a arquitetura do processador
uname -m

Instalação do Docker

Para instalar o Docker a partir do pacote .deb baixado, utilize o gerenciador de pacotes do sistema.

# Instalar o pacote docker-ce (substitua pelo nome real do arquivo)
sudo dpkg -i docker-ce_18.06.3~ce~3-0~debian_arm64.deb

Resolução de Erros de Dependências

Em caso de falha durante a instalação devido a bibliotecas desatualizadas, como a libseccomp2, é necessário atualizá-las. Em ambientes offline, baixe e instale manualmente as dependências.

# Instalar dependências baixadas offline (exemplo para libseccomp2)
sudo dpkg -i libseccomp2_2.4.6-0.1_arm64.deb

# Reinstalar o Docker após resolver as dependências
sudo dpkg -i docker-ce_18.06.3~ce~3-0~debian_arm64.deb

Gerenciamento do Serviço Docker

Após a instalação, é possível controlar o serviço do Docker usando comandos do systemd.

# Iniciar o Docker
sudo systemctl start docker

# Parar o Docker
sudo systemctl stop docker

# Desinstalar o Docker (opcional)
sudo apt-get remove docker

Configuração do Auto-início

Para garantir que o Docker inicie automaticamente com o sistema, crie ou edite o arquivo de serviço systemd correspondetne.

# Criar ou editar o arquivo de serviço do Docker
sudo nano /usr/lib/systemd/system/docker.service

Insira o seguinte conteúdo no arquivo:

[Unit]
Description=Motor de Contêineres Docker
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/dockerd $OPTIONS \
                           $DOCKER_STORAGE_OPTIONS \
                           $DOCKER_NETWORK_OPTIONS \
                           $INSECURE_REGISTRY
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

Em seguida, recarregue o systemd e habilite o serviço.

# Recarregar configurações do systemd e habilitar o Docker
sudo systemctl daemon-reload
sudo systemctl enable docker

Otimização com Espelhos de Imagens

Para melhorar a velocidade de download de imagens, cnofigure espelhos de repositórios no arquivo de configuração do Docker.

# Editar ou criar o arquivo de configuração do daemon
sudo nano /etc/docker/daemon.json

Adicione o conteúdo JSON abaixo, ajustando os URLs dos espelhos conforme necessário:

{
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "500m",
    "max-file": "3"
  },
  "bip": "10.0.1.1/24",
  "default-address-pools": [
    {
      "base": "10.0.1.0/16",
      "size": 24
    }
  ],
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.aliyuncs.com"
  ]
}

Verificação e Método Alternativo de Auto-início

Teste a configuração iniciando o Docker manualmente. Se o auto-início via systemd não funcionar, utilize o arquivo rc.local como alternativa.

# Iniciar o Docker para teste
sudo systemctl start docker

# Método alternativo: adicionar comando ao rc.local
echo "/usr/bin/systemctl start docker" | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

Tags: Docker Kylin OS Ubuntu ARM64 offline installation

Publicado em 6-9 18:20 por Thomas