Skip to content

Instantly share code, notes, and snippets.

@maiconschmitz
Created July 27, 2022 16:33
Show Gist options
  • Save maiconschmitz/6816df9c378fbac2a965b49c9363ad4c to your computer and use it in GitHub Desktop.
Save maiconschmitz/6816df9c378fbac2a965b49c9363ad4c to your computer and use it in GitHub Desktop.
Efetua a instalação do Docker no Ubuntu, compatível com Ubuntu Server 22.04 LTS
#!/bin/bash
# Lista de distribuicoes suportadas pelo script (cada item deve ser separado por um pipe "|")
DISTRO='Ubuntu'
SOFTWARE="docker-ce"
# Verifica se a distribuicao e suportada pelo script
if ! egrep -q "$DISTRO" /etc/issue ; then
cat <<EOF
Nao foi possivel instalar o $SOFTWARE
Este script de instalacao nao suporta sua distribuicao atual.
EOF
exit 1
fi
# Verifica se o usuario possui privilegios de administrador
USER_ID=`id -u 2> /dev/null`
if [ ! -z "$USER_ID" ]; then
if [ $USER_ID != 0 ]; then
echo "Voce necessita privilegios de root para executar este script.";
exit 1
fi
else
echo "Nao foi possivel detectar seu User IDentifier.";
exit 1
fi
# Mensagem de notificacao
cat <<EOF
Este script ira executar as seguintes acoes:
* Atualizar de prerequisitos para suporte ao HTTPS para o APT
* Atualizar da lista de sources do APT
* Instalar o $SOFTWARE atraves do APT
* Adicionar seu usuario atual ao grupo de usuários
Pressione ENTER para instalar, ou Ctrl+C para abortar agora.
EOF
read
# Executa a configuracao do repositorio APT
if `which apt-get &>/dev/null`; then
# Atualiza a lista de pacotes
sudo apt update
# Instala os prerequisitos, incluindo o suporte ao HTTPS para o APT
sudo apt install curl lsb-release ca-certificates apt-transport-https software-properties-common -y
# Importa a ahcve GPG do repositório do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Adiciona o repositorio do Docker ao APT sources
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
# Atualiza a lista de pacotes
sudo apt update
# Instalacao do software
sudo apt install docker-ce
# Adicao do usuario atual ao grupo de usuarios
sudo usermod -aG docker ${USER}
fi
# Verifica se a instalacao ocorreu com sucesso
if [ $? -eq 0 ]; then
echo "O $SOFTWARE foi instalado com sucesso."
else
echo "A instalacao do $SOFTWARE retornou um status diferentes do esperado."
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment