O comando do Docker System

Olá de novo! Este artigo fala sobre como obter informações gerais sobre todo o sistema portuário e fazer “limpeza” de contentores, imagens e volumes de resíduos com docker system.

Docker system

O comando do docker system tem vários sub-mandos:

• docker system info
• docker system df
• docker system events
• docker system prune

Ver informação sobre um host de docker

Para ver a informação do hospedeiro a partir da docker, podemos executar o comando docker system info ou a sua abreviatura docker info desta forma:

[ger-pc ~]# docker info
Client:
Debug Mode: false

Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 5
Server Version: 19.03.7-ce
Storage Driver: overlay2
Backing Filesystem: <unknown>
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d76c121f76a5fc8a462dc64594aea72fe18e1178.m
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.5.8-1-MANJARO
Operating System: Manjaro Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.233GiB
Name: ger-pc
ID: MWH3:24AM:UAZJ:E5UL:TRI3:F4NZ:Y3JD:IMKP:7G2V:VV6I:L5XF:J2TW
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

Desta forma, poderemos saber em que hardware, versão de docker, características do sistema, estamos a trabalhar.

Ver utilização de disco de cada contentor

Podemos ver a capacidade de disco utilizada por cada imagem, recipiente, volume e construir cache. O comando docker system df dar-nos-á um breve resumo em disco para cada componente da docker, como se vê no exemplo seguinte:

[ger-pc ~]# docker system df 
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 6 1 1.006GB 803.4MB (79%)
Containers 1 0 2B 2B (100%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
[ger-pc ~]#

Se também quiser saber quanto espaço em disco ocupa cada imagem ou cada contentor ou cada volume, tem de adicionar a opção -v ao comando, como pode ver no exemplo seguinte:

 
[ger-pc ~]# docker system df -v
Images space usage:

REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
nginx alpine 89ec9da68213 3 days ago 19.94MB 0B 19.94MB 0
archlinux latest 9651b9e35f39 2 weeks ago 412.2MB 0B 412.2MB 0
ubuntu 18.04 4e5021d210f6 5 weeks ago 64.21MB 0B 64.21MB 0
centos 8 470671670cac 3 months ago 237.1MB 0B 237.1MB 0
ubuntu 19.04 c88ac1f841b7 3 months ago 69.99MB 0B 69.99MB 0
centos 7 5e35e350aded 5 months ago 203MB 0B 203MB 1

Containers space usage:

CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
6e034771f891 centos:7 "/bin/bash" 0 2B 25 hours ago Exited (137) 15 hours ago container1

Local Volumes space usage:

VOLUME NAME LINKS SIZE

Build cache usage: 0B

CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
[ger-pc ~]#

Ver eventos em tempo real

O comando de eventos do docker system informa os eventos do docker em tempo real. Isto pode ajudar-nos quando o sistema tem uma falha e queremos evitar que ela se repita.
A sintaxe do comando é muito simples:

docker system events

 

Remoção de resíduos das docas

O Docker tem uma forma muito rápida de limpar o sistema.
O comando do docker system prune pode ajudar-nos muito a realizar a limpeza do sistema,

A sintaxe do comando é:

docker system prune

Um exemplo da produção é:

[ger-pc ~]# docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache

Are you sure you want to continue? [y/N] y
Deleted Containers:
6e034771f891225529dc6fc7eef6f40d537820d7607f68885edc10f2c71c6f9d

Total reclaimed space: 2B
[ger-pc ~]#

Como se pode ver, apenas removerá:

  • Contentores parados
  • Redes não utilizadas (sem contentores)
  • Imagens penduradas
  • Construir cache pendurado

Para não pedir confirmação adicionamos o parâmetro -f, pelo que deve ser docker system prune -f e todas as anteriores serão eliminadas de uma só vez, sem confirmação,

Se quisermos apagar todas as imagens, podemos executar o comando acrescentando -a e o comando terá este aspecto:

docker system prune -a

Para remover volumes também, adicionar o parâmetro –volumes como no exemplo seguinte:

docker system prune --volumes

 

Se estiver interessado em aprender Docker, pode adquirir o nosso livro aqui.

Docker para novatos

Docker para novatos - Gerardo G. Urtiaga-portada-web

Se gostou do artigo, partilhe-o nas suas redes sociais para que possamos chegar a mais pessoas!

Com os melhores cumprimentos

Deixe uma resposta