Docker¶
Objetivo¶
Documentar método de instalação, além de tutorial de uso.
Links¶
Dependências¶
Docker, v25.0.3
Instalação¶
Primeiro, instale os pacotes necessário, adicionando docker aos sources do apt.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Por fim, instale o Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Adicionar docker a usuario não root¶
Para utilizar docker é necessario ter acesso ao root (Docs).
Assim, crie o grupo docker caso não exista e adicione seu usuario a ele.
# Create group
sudo groupadd docker
# Add user
sudo usermod -aG docker $USER
Mudança de diretório raiz¶
Para mudar o diretório raiz seguir os seguintes passos:\
Pare os processos:
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo systemctl stop containerd
Transfira o diretório do Docker:
rsync -a -H /var/lib/docker /home
Edite o arquivo de configuração do Docker:
sudo vim /etc/docker/daemon.json
Adicionando:
{
"data-root": "/home/docker"
}
Reinicie os processos:
sudo systemctl start docker
Confira se deu certo (irá retornar o diretório raiz atual do Docker):
docker info -f '{{ .DockerRootDir}}'
Criando Containers¶
Para criar um container a uma aplicação primeiro importe a imagem da aplicação caso não exista.
Todas as imagens disponíveis em docker podem ser vistas em Docker HUB
# List docker images
docker image ls
# Import docker image
docker pull <aplication>
# Example
docker pull postgres
Em seguida, para criar e logo em seguida executar um novo container execute:
# Create and run container
docker run --name <container_name> <parameters> <docker_image>
# Example
docker run --name pg_container1 -e POSTGRES_PASSWORD=mysecretpassword -d postgres
# Check running containers
docker ps
Finalmente, conecte ao docker
# Connect to the docker system as root
docker exec --user=root -it <container_name> /bin/bash
Para parar/destruir o container execute:
docker stop <container_name>
docker rm <container_name>
Importar/Exportar arquivos¶
Para importar ou exportar arquivos em um container funcionando use o comando docker cp
# Importanto
docker cp local_file.txt <container_name>:/path
# Exportando
docker cp <container_name>:/path/to/file.txt /path/local