Instalando e configurando os requisitos
Comece a instalar o produto. Neste tutorial passo a passo, você aprenderá o seguinte:
- Acessar o servidor
- Liberar acesso do Firewall
- Instalar recursos
- Alterar localização dos Volumes Docker
- Compartilhar Volumes do Docker via Samba
Acessar o servidor
- Conecte ao servidor utilizando SSH, por padrão a porta utilizada no protocolo é 22.
- Caso não possua um cliente SSH, poderá utilizar o PuTTY.
- Acesse o servidor com usuário root.
Liberar acesso do Firewall
Existem duas opções, a mais indicada seria utilizar o firewall nativo do sistema e liberar as portas requeridas pelo sistema; a outra, é desativar definitivamente o firewall.
Liberar portas no firewall
- execute o comando
sudo ufw allow PORTNUMpara cada umas das portas necessárias.- As portas por padrão são:
- 8080 (acesso http)
- 5432 (acesso ao banco de dados)
- 2121 (ftp do connector)
- 21000-21250 (ftp do connector)
- 53 (servidor DNS)
- As portas por padrão são:
Desativar o firewall
- execute o comando
sudo ufw disablepara desativar completamente o firewall do sistema.
Instalar recursos
Antes de instalar os novos recursos, vamos desinstalar as versões não oficiais do Docker, caso existam:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
Imagens, contêineres, volumes e redes armazenados em /var/lib/docker/ não são removidos automaticamente quando você desinstala o Docker.
Mas é recomendável efetuar o backup de dados previamente existentes.
Vamos adicionar o repositório:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
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
# Add the repository to Apt sources:
```jsx title="code" showLineNumbers
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_bashNAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Para instalar os pacotes necessários:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin unrar samba
E por fim, permita que usuários comuns manipule o Docker (caso contrário, somente usuários roots terão permissão:) * opcional
sudo groupadd docker
sudo usermod -aG docker $USER
sudo newgrp docker
Alterar localização dos Volumes Docker
execute o seguinte comando para verificar se o disco está formatado:
sudo sudo lsblk
caso seja necessário formatá-lo acesse: Installing A New HardDrive - Community Help Wiki
se necessário monte-o, executando os seguinte comandos:
sudo mkdir /mnt/alfrescocontentdata
sudo mount -t auto -v /dev/sdb1 /mnt/alfrescocontentdata (alterando sdb1 para o identificador do disco necessário)
sudo nano -Bw /etc/fstab
adicione a linha:
/dev/sdb1 /mnt/alfrescocontentdata ext4 defaults 0 2 (alterando sdb1 para o identificador do disco necessário)
crie a pasta docker no disco desejado:
mkdir /mnt/alfrescocontentdata/docker
interrompa o serviço Docker e crie o rsync:
sudo systemctl stop docker
sudo systemctl status docker
rsync -avxP /var/lib/docker/ /mnt/alfrescocontentdata/docker
Todo o conteúdo da pasta /var/lib/docker/ será copiado para /mnt/alfrescocontentdata/docker.
Edite ou crie o arquivo /etc/docker/daemon.json com a seguinte chave:
{
"data-root": "/mnt/alfrescocontentdata/docker"
}
Por fim, reinicie o serviço Docker:
sudo systemctl daemon-reload
systemctl start docker
Compartilhar Volumes do Docker via Samba
execute os seguintes comandos para criar um novo grupo chamado samba e incluir o usuário root:
sudo groupadd -r sambausers
sudo usermod -aG sambausers root
sudo smbpasswd -a root
sudo chown -R :sambausers /var/lib/docker/volumes (caso tenha modificado a localização dos Volumes, alterar para /mnt/alfrescocontentdata/docker)
sudo chmod 1770 /var/lib/docker/volumes
edite o arquivo smb.conf executando os seguintes códigos:
sudo nano /etc/samba/smb.conf
Adicionar as entradas:
[volumes]
comment = DockerVolumes
browseable = yes
path = /var/lib/docker/volumes (caso tenha modificado a localização dos Volumes, alterar para /mnt/alfrescocontentdata/docker)
guest ok = no
read only = no
create mask = 777
reinicie o serviço samba
sudo service smbd restart