Coder Social home page Coder Social logo

guia-docker's Introduction

//--------docker basics----------//

CONTAINERS:

  • 👶 exemplo:
    • criar container da imagem nginx,
    • nome nginx1,
    • modo detach,
    • limitando esse container a utilizar somente 512 MB de RAM,
    • limitando a utilizar somente 50% do CPU,
    • mapeia volume (de nome aleatorio é hash) na minha porta host pela porta do container,
    • expor a minha porta host 8080 pela 80 do container:
docker container run --name nginx1 -d -m 512M -c=".5" -v <host>:<container> -p 8080:80 nginx
  • volumes:
    • tipo bind: fazer um diretorio atual ser montado dentro do container:
docker container run --mount type=bind,src=</diretorio a ser copiado para conteiner>,dst=/<pasta destino no container>
  • tipo volume: o diretorio do "/var/lib/docker/volumes/<nome do arquivo a ser copiado" sera o volume de dentro do conteiner:
docker container run --mount type=bind,src=</diretorio a ser copiado para conteiner>,dst=/<pastadestinonocontainer>
  • comandos gerais a partir do volume:
docker volume ps/inspect/rm
  • ✍️ executar container em modo interativo da linha de comando
docker container exec -it <container ID ou nome> bash
  • 👀 checar quais conteiners running:
docker ps 
  • 👀 checar TODOS conteiners independente de running:
docker ps -a
  • 👀 checar status container:
docker status <container ID ou nome>
  • ⏸️ ▶️startar / stop container:
docker container start/stop <container ID ou nome>
  • 💀 deletar container:
docker rm <nome container ou id>
  • 💀 deletar TODOS containers que não estão em uso:
docker container prune
  • 💀 deletar TODOS containers:
docker rm $(docker ps -qa)
  • ✍️ acessar container:
docker attach <conteiner ID>
  • 🔱 versionar container:
docker commit <conteiner ID> <nome da imagem>:<tag>

IMAGES:

  • 👀 checar todas imagens:
docker images
  • 💀 deletar imagem:
docker rmi <nome imagem ou id>
  • 💀 deletar TODAS imagens que não estão em uso:
docker image prune
  • 💀 deletar TODAS imagens(msm se estiver sendo usada):
docker rmi $(docker images -q) -f
  • 💱 retagear imagem existente:
docker image tag <nome da imagem>:<TAG>

DOCKER FILE build

  • 👶 criar imagem com a tag=<>, dentro da pasta com Dockerfile:
docker build -t <usuario dockerhub/nome da sua imagem> .

DOCKER COMPOSE (sobe uma aplicação inteira, diversos containers, com um comando):

  • ☝️ na pasta com o arquivo docker_compose.yaml:
docker compose up

🤔 toda documentação pelo comando:

docker --help

DOCKER SWARM

  1. iniciar vai gerar um leader e gerar um token:
docker swarm init
  1. vai ser gerado um comando para adicionar worker nodes,
  • esse comando deve ser adicionado em cada maquina,
  • mas para ser adicionado,
  • deve instalar antes docker pelo curl, - e depois com sudo -su mudar nome do hostname:
curl -fsSL <.site docker...> | bash
hostname <nome do host mostrado no docker node ls do Leader>
docker swarm join <token enorme exibido do Leader>
  • obs: mínimo de 1 cluster, numero impar para nao derrubar cluster: mais de 50% cluster ativos, sistema eleição
  • obs:dentro do cluster qualquer ação binda o cluster todo
  • o Leader permite que outros nós possam virar/desvirar Leader:
docker node promote/demote <nome node>
  • adicionar manager: primeiro precisa gerar o token a ser colado no nó vazio, faça na maquina Leader:
docker swarm join-token manager
  • adicionar worker: primeiro precisa gerar o token a ser colado no nó vazio, faça na maquina worker:
docker swarm join-token worker
  • services:
docker service create --name <name> --replicas/--help
docker service
...            ps/inspect/scale/rm/rollback/update/prune
  • network:
docker network create -d overlay <name>

🤔 toda documentação pelo comando:

docker --help

😮!!!Diferente do RUN, o CMD executa apenas na criação do container e não no build da imagem. Deve ser único no Dockerfile.!!!

guia-docker's People

Contributors

tedydevops avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.