De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rafael Gomes
Data de Publicação: 07 de abril de 2015
No artigo anterior sobre Docker, eu expliquei como modificar uma imagem docker usando COMMIT, mas propositalmente não comentei que essa não é a melhor prática :) Evitei tocar nesse assunto para não frustrar o aprendizado, pois é necessário aprender como funciona o COMMIT, com DIFF e afins.
A melhor forma de modificar uma imagem Docker é recriando-a, ou seja, modificando seu Dockerfile, ou criando um Dockerfile novo tendo a imagem escolhida como base e nesse artigo falaremos sobre tudo isso.
Dockerfile é um arquivo, que contém um conjunto de instruções necessárias para se criar uma imagem Docker, ou seja, com posse do Dockerfile de uma determinada imagem, basta modificar o que deseja e recriar a imagem "do zero", isso pode demorar um pouco mais, mas essa imagem será muito mais "enxuta" e você terá controle total do seu estado, o que seria bem mais difícil no modelo de efetuar commit de um container.
Caso não tenha o Dockerfile, você pode usar uma imagem a sua escolha como base e então criar a sua imagem como uma camada acima.
Para explicação mais exaustiva das sintaxes já explanadas e outras novas, acesse essa documentação.
Exemplo
Crie uma pasta com o comando abaixo:
# mkdir nginx
Entre nessa pasta:
# cd nginx
E então crie um arquivo chamado "Dockerfile" com o seguinte conteúdo:
FROM debian MAINTAINER Rafael Gomes < gomex@riseup.net> RUN apt-get update RUN apt-get install -y nginx ENTRYPOINT ["/usr/sbin/nginx"] EXPOSE 80
Com esse Dockerfile, temos:
Nesse link tem um ótimo documento explicando as boas práticas na criação de um Dockerfile.
Com o Dockerfile preenchido, execute o comando abaixo para criar sua imagem:
# docker build -t=gomex/nginx .
No lugar de "gomex" coloque o seu usuário da nuvem pública do docker e no lugar de "nginx" o nome da sua imagem.
Ao terminar, pode efetuar o push para a nuvem pública e assim proporcionar a distribuição da sua imagem:
# docker push gomex/nginx
Pronto! Agora já tem sua imagem prontinha, totalmente "enxuta" e disponível para que outra pessoa possa baixar e utilizar.
Por hoje é só pessoal, logo teremos mais artigos sobre Docker. Fiquem atentos.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários