O QUE É COPY NO DOCKERFILE?
[PARTE 05]
Opa pessoal tudo certo!?
No artigo anterior vimos o que é a instrução RUN no Dockerfile e como funciona.
Hoje vamos entender a instrução COPY.
A função dessa instrução é realizar cópias de arquivos ou diretórios de uma origem e adicionar no filesystem da imagem de container que está sendo criada.
No exemplo abaixo vamos realizar a cópia da pasta “jobs” localizada no diretório “resources” para o diretório “/tmp/” da imagem de nosso futuro container.
COPY resources/jobs /tmp/
Existe duas formas que podemos utilizar:
COPY [--chown=user:group] <src> <dest>
COPY [--chown=user:group] ["<src>", "<dest>"]
Dessa maneira podemos apresentar o código anterior:
COPY resources/jobs /tmp/
#or
COPY ["resources/jobs", "/tmp/"]
Como podemos observar ao copiar esse novo diretório ou arquivos já podemos definir user, groups, UID ou GID assim facilitando a gestão de permissionamento aos arquivos de configuração de uma aplicação, não é obrigatório realizar essa configuração, para aplicá-la utilizamos a opção --chown
. Alguns exemplos são:
COPY --chown=55:data files* /tmp/
COPY --chown=bin files* /opt/
COPY --chown=1 files* /somedir/
Relembrando o Dockerfile que criamos, temos:
#PRIMEIRO DOCKERFILE
FROM centos:7
RUN yum -y update
RUN yum -y install httpd
COPY ./index.html /var/www/html/index.html
EXPOSE 80
CMD ["httpd", "-D", "FOREGROUND"]
Em nosso código o COPY realizará a cópia do arquivo “index.html” no diretório que se encontra o Dockerfile para o diretório “/var/www/html/index.html”.
Até o momento não criamos o “index.html”, vamos criar agora no mesmo diretório do Dockerfile com o seguinte conteúdo:
<h1> Olá! Bem vindo a Lost Router by Luis</h1>
Obrigado por acompanhar até aqui e te espero no próximo artigo 😃😃😃😃
CRIANDO SUA PRIMEIRA IMAGEM DOCKER PARTE-01
O QUE É FROM NO DOCKERFILE? - PARTE-02
O QUE É REGISTRY NO DOCKER? - PARTE-03
O QUE É RUN NO DOCKERFILE? - PARTE-04
O QUE É COPY NO DOCKERFILE? - PARTE-05
O QUE É EXPOSE NO DOCKERFILE? - PARTE-06