Docker: Elementos de uma arquivo Dockerfile: Difference between revisions

From Wiki
No edit summary
No edit summary
Line 31: Line 31:
Copia o arquivo para dentro do container
Copia o arquivo para dentro do container


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


== COPY ==
== COPY ==
Line 37: Line 37:
Copia o arquivo para dentro do container
Copia o arquivo para dentro do container


* '''COPY''' app.py /app.py
'''COPY''' app.py /app.py


== ENV ==
== ENV ==
Line 56: Line 56:
Define metadados para a imagem
Define metadados para a imagem


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


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


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


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


== WORKDIR ==
== WORKDIR ==


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


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

Revision as of 00:22, 27 September 2018

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 ...."

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.

VOLUME' /software

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

Ver também