Skip to content

Instantly share code, notes, and snippets.

@matheus-goncalves
Last active April 26, 2021 18:11
Show Gist options
  • Save matheus-goncalves/521ecaf0cbf63a639f4884b6d786f1d1 to your computer and use it in GitHub Desktop.
Save matheus-goncalves/521ecaf0cbf63a639f4884b6d786f1d1 to your computer and use it in GitHub Desktop.
Docker Cheat Sheet
Basics
# docker container run hello-world
# docker image ls
# docker ps
# docker container ls
# docker container ls -a
# docker container run -ti centos:7
# docker container run -ti ubuntu
# docker container -d nginx
# docker container attach [CONTAINER ID]
# docker container exec -ti [CONTAINER ID] [COMANDO]
# docker container start [CONTAINER ID]
# docker container stop [CONTAINER ID]
# docker container restart [CONTAINER ID]
# docker container pause [CONTAINER ID]
# docker container unpause [CONTAINER ID]
Set memory and CPU for a container
# docker container stats [CONTAINER ID]
# docker container top [CONTAINER ID]
# docker container run -d -m 128M --cpus 0.5 nginx
# docker container update --memory 64M --cpus 0.4 nginx
# docker container inspect [CONTAINER ID]
# docker container stats [CONTAINER ID]
# docker container top [CONTAINER ID]
Volumes
# docker container run -ti --mount type=bind,src=/volume,dst=/volume ubuntu
# docker container run -ti --mount type=bind,src=/root/primeiro_container,dst=/volume ubuntu
# docker container run -ti --mount type=bind,src=/root/primeiro_container,dst=/volume,ro ubuntu
# docker volume create giropops
# docker volume rm giropops
# docker volume inspect giropops
# docker volume prune
# docker container run -d --mount type=volume,source=giropops,destination=/var/opa nginx
# docker container create -v /data --name dbdados centos
# docker run -d -p 5432:5432 --name pgsql1 --volumes-from dbdados -e POSTGRESQL_USER=docker -e POSTGRESQL_PASS=docker -e POSTGRESQL_DB=docker kamui/postgresql
# docker run -d -p 5433:5432 --name pgsql2 --volumes-from dbdados -e POSTGRESQL_USER=docker -e POSTGRESQL_PASS=docker -e POSTGRESQL_DB=docker kamui/postgresql
# docker run -ti --volumes-from dbdados -v $(pwd):/backup debian tar -cvf /backup/backup.tar /data
Docker File
ADD => Copia novos arquivos, diretórios, arquivos TAR ou arquivos remotos e os adicionam ao filesystem do container;
CMD => Executa um comando, diferente do RUN que executa o comando no momento em que está "buildando" a imagem, o CMD executa no início da execução do container;
LABEL => Adiciona metadados a imagem como versão, descrição e fabricante;
COPY => Copia novos arquivos e diretórios e os adicionam ao filesystem do container;
ENTRYPOINT => Permite você configurar um container para rodar um executável, e quando esse executável for finalizado, o container também será;
ENV => Informa variáveis de ambiente ao container;
EXPOSE => Informa qual porta o container estará ouvindo;
FROM => Indica qual imagem será utilizada como base, ela precisa ser a primeira linha do Dockerfile;
MAINTAINER => Autor da imagem;
RUN => Executa qualquer comando em uma nova camada no topo da imagem e "commita" as alterações. Essas alterações você poderá utilizar nas próximas instruções de seu Dockerfile;
USER => Determina qual o usuário será utilizado na imagem. Por default é o root;
VOLUME => Permite a criação de um ponto de montagem no container;
WORKDIR => Responsável por mudar do diretório / (raiz) para o especificado nele;
Registry
# docker image inspect debian
# docker history linuxtips/apache:1.0
# docker login
# docker login registry.suaempresa.com
# docker push linuxtips/apache:1.0
# docker pull linuxtips/apache:1.0
# docker image ls
# docker container run -d -p 5000:5000 --restart=always --name registry registry:2
# docker tag IMAGEMID localhost:5000/apache
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment