Docker: Elementos de uma arquivo Dockerfile

Um Dockerfile é um lista de instruções para a criação da imagem e do respectivo container. Exemplo:

FROM python:3.6.1-alpine RUN pip install flask COPY app.py /app.py CMD ["python","app.py"]

= Comandos do arquivo DockerFile=

FROM
Informo que a docker image vai ter como base layer o ubuntu:12.04

FROM ubuntu:12.04

RUN
O comando RUN executa um comando ao necessário na montagem do container.

RUN apt-get update

CMD
CMD é o comando que é executado ao iniciar o container.

CMD /root/wlp/bin/server run JAXWSEJBSample ou CMD ["python","app.py"]

ADD
Copia o arquivo para dentro do container


 * ADD wlp-developers-extended-8.5.5.2.jar /root/

COPY
Copia o arquivo para dentro do container


 * COPY app.py /app.py

ENV
Define variáveis de ambiente

ENV REPOSITORY_URL=http://192.168.1.1 ENV LANG=en_US.UTF-8

EXPOSE
Expõe o serviço na porta 9080

EXPOSE 9080

LABEL
Define metadados para a imagem

LABEL title="Container XYZ" LABEL version="1.0" LABEL description="This text ...."

USER
A instração USR define o usuário/uid e o group/gid para ser usado ao executar a imagem e para qualquer instrução RUN, CMD e ENTRYPOINT que a segue no Dockerfile.

USER [: ] or USER [:]

VOLUME
A instrução VOLUME é server para compartilhar um diretório do filesystem do host e o filesystem do container.

VOLUME ["/path1/", "/path2/"]

WORKDIR
A instrução WORKDIR, define o diretório de trabalho para qualquer comando RUN, CMD, ENTRYPOINT, COPY e ADD.

Se o diretório de trabalho não existir, ele é criado.

= Ver também =


 * Artigos sobre DevOps
 * Artigos sobre Cloud