Docker: Elementos de uma arquivo Dockerfile

From Wiki
Revision as of 00:09, 27 September 2018 by Ebasso (talk | contribs) (→‎LABEL)

Vamos pegar por exemplo o arquivo Dockerfile abaixo:

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

docker image build -t python-hello-world .

Comandos do arquivo DockerFile

FROM

  • FROM ubuntu:12.04

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

RUN

  • RUN apt-get update

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

CMD

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

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

ADD

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

Copia o arquivo para dentro do container

COPY

  • COPY app.py /app.py

Copia o arquivo para dentro do container

SHELL

ENV

EXPOSE

  • EXPOSE 9080
Expõe o serviço na porta 9080

LABEL

Define metadados para a imagem

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

STOPSIGNAL

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 <user>[:<group>] or
USER <UID>[:<GID>]

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