Docker: É uma engine de administração de containers. Container: É um processo isolado do sistema. Imagem: Modelo de sistema de arquivo usado para criar containers
Docker image: Classe Container: Objeto
Repositório: https://hub.docker.com
Volumes: Persistencia de dados sem depender do container
- Tipos:
- Anônimos: Criados pela flag -v com nome aleatório
- Nomeados: Criados com nomes definidos
- Bind Mounts: É um diretorio 'fisico' no pc desaclopado ao docker
- Container devem ter responsabilidade única.
- Os containers são sempre isolados do sistema.
- Docker run sempre cria um novo container, para iniciar um ja criado use docker start
docker login
docker logout
docker system prnue
docker run --name <defina um nome pro container> <nome da imagem>
-i - Modo Iterativo --name - nome do container --rm - remover container após a utilização -d - Detached - Criar em background -p : - Export porta
docker run -d -p 8000:8000 --name node-api1 1c0cc25deef
docker ps
docker container ls
docker ps -a
docker container ls -a
docker stop <nome do container ou id do container>
docker container stop <nome do container ou id do container>
docker start <nome do container ou id do container>
docker container start <nome do container ou id do container>
-it - modo iterativo
docker logs <id/nome do container>
-f - Follow: Logs em tempo real
docker rm <id/nome do container>
-f - Forçar remoção caso o container esteja em execução por exemplo
docker cp < <nome do container>:<caminho do arquivo/pasta> > <destino>
Exemplo: docker cp exemplo:/app/index.js ./copia/
docker top <nome do container>
docker inspect <nome do container>
docker stats
docker build <diretorio onde está o dockerfile>
-t - Nomear a imagem Ex: docker build -t nome-da-imagem .
-f - Nome do dockerfile Ex: docker build -t nome-da-imagem . -f Dockerfile.dev
docker image ls
docker pull <nome da imagem>
docker <comando> --help
docker tag <id da imagem já criada> <nome da imagem>
docker tag <id da imagem já criada> <nome da imagem>:<tag/versão da imagem>
docker rmi <nome/id da imagem>
-f - Força a remoção da imagem
- Criar um repositório no Docker Hub: Docker Hub > Repositories > Create Repository
- Fazer o build da imagem com o nome igual ao do repositorio criado
docker push <nome da imagem>:<nome da tag>