docker version
docker = comando padrão do cli version = exibe a versão do cli e do daemon do docker
<IMAGE_NAME> = nome da imagem [TAG] = parâmetro opcional da tag atribuída a imagem, geralmente a versão <CONTAINER_NAME> = nome do container
docker run -d --name <CONTAINER_NAME> [-p] [HOST_PORT]:[CONTAINER_PORT] [--link] [<ANOTHER_CONTAINER_NAME>] [-v] [HOST_PATH]:[CONTAINER_PATH] <IMAGE_NAME>:[TAG]
run = comando para criar um container
-d = roda o container em background
--name = flag para indicar o nome do container que será criado
[-p] = flag opcional para mapear as portas expostas pelo container com portas do host (podem ser substituidos por apenas -P maiúsculo, indicando que todas as portas expostas pelo container serão mapeadas para as mesmas portas no host)
[HOST_PORT] = porta do host que responderá pela porta do container
[CONTAINER_PORT] = porta exposta do container que será mapeada na porta do host
[--link] = flag usada para indicar links entre os containers, para que um possa enxergar o outro
[ANOTHER_COTNAINER_NAME] = nome do outro container que ficará acessível
[-v] = flag usada para mapear diretórios expostos pela imagem para o host
[HOST_PATH] = diretório que será mapeado no host
[CONTAINER_PATH] = diretório no container que é exposto pela imagem e que será usado para mapear em um diretório no host
ex.: docker run -d --name primeiro_container -p 38080:8080 -v c:\Users\admin\tomcat_logs:/home/tomcat/webapps tomcat:latest
docker ps [-a]
ps = comando para listar os containers
[-a] = parâmetro opcional para listar todos os containers incusive os que estão parados
docker images
images = exibe as imagens do repositório local
docker pull <IMAGE_NAME>:[TAG]
pull = baixa uma imagem de um repositório público ou privado
ex.: docker pull ubuntu:18.04
docker inspect <CONTAINER_NAME>
inspect = inspeciona informações do container
ex.: docker inspect container_apache
docker stop <CONTAINER_NAME>
stop = parar um container
ex.: docker stop apache
docker start <CONTAINER_NAME>
start = iniciar um container
ex.: docker start artifactory
docker attach <CONTAINER_NAME>
attach = entra em um container
ex.: docker attach debian
docker diff <CONTAINER_NAME>
diff = exibe as alterações realizadas no container
ex.: docker diff tomcat
docker <COMMAND> --help
= comando do docker cli
--help = exibe o help do comando
ex.: docker run --help
docker commit <CONTAINER_NAME> <NEW_IMAGE_NAME>:[TAG]
commit = commita uma imagem a partir de um container
<CONTAINER_NAME> = container base para criação da imagem
<NEW_IMAGE_NAME> = nome da imagem que será criada
ex.: docker commit apache/minha_imagem apache
docker rm <CONTAINER_NAME>
rm = removendo um container
ex.: docker rm meu_container
docker rmi <IMAGE_NAME>:[TAG]
rmi = removendo uma imagem
ex.: docker rmi ubuntu:18.06
docker build [-t] [IMAGE_NAME]:[TAG] <DOCKERFILE_PATH>
build = comando usado para criar uma imagem a partir de um Dockerfile
[-t] = flag opcional para indicar o nome e a tag da imagem a ser criada
<DOCKERFILE_PATH> = diretório em que se encontra o Dockerfile, pode-se usar . (ponto) se o arquivo estiver no diretório atual
docker history <IMAGE_NAME>
history = exibe o histórico de comandos executados em uma imagem
ex.: docker history tomcat:latest
docker exec <CONTAINER_NAME> <COMMAND>
exec = executa um comando dentro de um container
ex.: docker exec meu_tomcat cat test.txt
docker login
login = solicita login em uma conta de um repositório de imagens como o docker hub
docker tag <IMAGE_NAME> <LOGIN>/<IMAGE_NAME>:[TAG]
tag = adiciona uma tag a uma imagem pré-criada no repositório local
<IMAGE_NAME> = nome da imagem que será tagueada
= por convenção é usado o login do docker hub antes do nome da imagem para indicar o criador da mesma
[TAG] = parâmetro não obrigatório, caso nao seja passado será tagueada como :latest
ex.: docker tag my_image gigiobr/my_image
docker push <LOGIN>/<IMAGE_NAME>:[TAG]
push = publica uma imagem em um repositório
= por convenção é usado o login do docker hub no nome da imagem
<IMAGE_NAME> = nome da imagem a ser publicada
[TAG] = parametro opcional, caso nao seja passado será usada a tag :latest
Dockerfile = arquivo usado para executar vários comandos e ao final criar imagens configuradas conforme a necessidade
FROM <IMAGE_NAME>:[TAG]
FROM = comando do Dockerfile qeu indica qual imagem será usada como base para a criação da nova imagem
ex.: FROM tomcat:8.0
MAINTAINER <EMAIL>
MAINTAINER = comando usado para indicar o e-mail do mantenedor dessa imagem
= e-mail do mantenedor
ex.: MAINTAINER giovanny.brandalise@gmail.com
RUN <COMMAND>
RUN = comando usado para executar comandos dentro da imagem antes de gerar a nova imagem, pode-se ter vários comandos RUN em um mesmo Dockerfile intercalados com outros comandos
= comando que será executado dentro da imagem
ex.: RUN mkdir /var/www RUN echo "testando echo"
VOLUME <PATH1> <PATH2>
VOLUME = comando usado para expor diretórios da imagem para serem mapeados pelos containers
= diretórios que serão expostos pela imagem
ex.: VOLUMNE /var/www
EXPOSE <PORT1> <PORT2>
EXPOSE = comando usado para expor portas da imagem a serem mapeadas pelos containers
= portas que serão expostas pela imagem
ex.: EXPOSE 80 8080
WORKDIR <PATH>
WORKDIR = comando usado para indicar o diretório inicial da imagem que serão executados os comandos
= diretório inicial da imagem
ex.: WORKDIR /var/www
COPY <HOST_PATH> <IMAGE_PATH>
COPY = comando usado para copiar diretórios e arquivos para dentro da imagem que será criada
<HOST_PATH> = diretório/arquivo origem do host que será copiado
<IMAGE_PATH> = diretório destino do diretório/arquivo dentro da imagem que será criada
ex.: COPY C:\Users\admin\run.sh /home/admin/app/
ENV <ENV_VAR>=<ENV_VALUE>
ENV = comando usado para criar variáveis de ambiente e/ou atribuir valor a elas
<ENV_VAR> = nome da variável de ambiente
<ENV_VALUE> = valor atribuído à variável
ex.: ENV MYSQL_HOME=/opt/tools/mysql
ENTRYPOINT ["<COMMAND>"]
ENTRYPOINT = comando que será executado quando iniciar o container baseado na imagem que será criada
= comando que será executado ao iniciar o container
ex.: ENTRYPOINT ["/home/admin/run.sh"]