Liste e explique os principais comandos básicos do Docker, como `docker run`, `docker ps`, `docker stop`, `docker rm`, e `docker images`, incluindo exemplos práticos de uso. Descreva o processo para criar uma nova imagem Docker a partir de um Dockerfile e como gerenciar essas imagens com os comandos `docker build`, `docker tag` e `docker push` para enviar ao Docker Hub. Explique como gerenciar o ciclo de vida de contêineres Docker utilizando comandos como `docker start`, `docker stop`, `docker restart` e `docker rm`, incluindo dicas sobre como reiniciar contêineres e gerenciar logs. Descreva como criar e gerenciar volumes Docker usando os comandos `docker volume create`, `docker volume inspect` e `docker volume rm`, e como anexar volumes a contêineres para armazenamento persistente. Explique como criar e gerenciar redes Docker usando os comandos `docker network create`, `docker network connect` e `docker network inspect`, e como permitir a comunicação entre contêineres usando essas redes.