obrigatório, define imagem base para a construção/ o
obrigatório FROM FROM [--platform=<platform>] <image>[:<tag>] FROM node:14.1 build AS define um nome para a imagem construida/build FROM <image>[:<tag>] [AS <name>] AS nome_desejado metadata LABEL version="1.0" LABEL adiciona metadados a imagem na forma chave-valor LABEL <key>=<value> <key>=<value> ... LABEL description="This text illustrates" RUN <command> (roda no shell default) RUN mkdir pasta-nova && npm install RUN roda um comando dentro do container RUN ["executable", "param1", "param2"] (define o shell) RUN ["/bin/bash", "-c", "echo hello"] define comando que vão obrigatoriamente ser ENTRYPOINT ["executable", "param1", "param2"] ENTRYPOINT ENTRYPOINT ["echo"] executados na inicialização do container ENTRYPOINT command param1 param2 execução define defaults para a exeução de um container, com ou sem ENTRYPOINT CMD ["executable","param1","param2"] (exec form, preferred form) CMD (só pode existir um CMD no file, se houver mais de CMD ["param1","param2"] (as default parameters to ENTRYPOINT) CMD ["Sou a mensagem padrão."] um o último subscreve os primeiros, inclusive se CMD command param1 param2 (roda no shell default) passados via linha de comando no build) copia arquivos e pastas do diretório local <src> e COPY [--chown=<user>:<group>] <src>... <dest> COPY test.txt relativeDir/ COPY adiciona ao sistema de pastas da imagem de destino COPY [--chown=<user>:<group>] ["<src>",... "<dest>"] COPY test.txt /absoluteDir/ arquivos <dest> copia e descompacta arquivos, ADD [--chown=<user>:<group>] <src>... <dest> ADD test.txt relativeDir/ ADD aceita também http urls ADD ["<src>",... "<dest>"] (paths c/ espaço em branco) ADD test.txt . atribui valores especificos a chaves, que podem ser ENV <key>=<value> ... ENV MY_NAME="John Doe" ENV usados após a constução/build do container ENV MY_VAR my-value ENV MY_NAME John Doe variáveis atribui valores especificos a chaves, usados apenas ARG ARG <name>[=<default value>] ARG user1=someuser durante a constução/build do container determina o diretório default de execução das WORKDIR WORKDIR /path/to/workdir WORKDIR /src instruções, se não existe será criado informa ao Docker que o contêiner escuta nas portas EXPOSE 3000/tcp de rede especificadas, não publica a porta. (Para publicar a porta ao executar o EXPOSE EXPOSE <port> [<port>/<protocol>...] (tcp default) comunica a contrução da imagem à execução do contêiner, use -p no docker run para container, sobre quais portas se pretende publicar publicar e mapear uma ou mais portas) cria um ponto de montagem com o nome VOLUME ["/data"] outros VOLUME especificado e o marca como contendo volumes VOLUME /myvol VOLUME /data montados USER determina o username default USER <user>[:<group>] USER patrick determina instruções gatilho de construção para ONBUILD ADD . /app/src ONBUILD quando a imagem for usada de base para a criação ONBUILD <INSTRUCTION> ONBUILD RUN npm de outra imagem altera a configuração de shell default SHELL SHELL ["executable", "parameters"] SHELL ["powershell", "-command"] (Linux ["/bin/sh", "-c"], Windows ["cmd", "/S", "/C"])