3
respostas

Como criar imagem de um Sistema Web

Amigos eu tenho um sistema web feito em PHP, eu gostaria de saber de vcs qual a melhor estratégia de criar uma imagem docker desse Sistema.Com o DockerFile seria o ideal ? E como fazer isso ?Meu objetivo é empacotar meus sistemas em imagens docker.Vendo as aulas eu imaginei em baixar para a imagem o apache, o postgre, php e por a pasta com meu sistema dentro do htdocs no apache e persisti-los com o commit nessa imagem.Assim vou ter uma imagem com tudo que preciso para por meu sistema para rodar.Se por algum motivo eu precisar criar outro contêiner com esse sistema, eu já terei a imagem prontinha para por meu sistema para rodar.O que vcs acham da estratégia?

3 respostas

Olá, kjmn28 tudo bem?

É uma boa estratégia efetuar o commit das alterações de um container para depois reutiliza-lo.

Só que usando commits temos alguns probleminhas (um exemplo deles é que dificulta bastante rastrear quais as mudanças foram commitadas).

O mais comum é a utilização de um Dockerfile e nele você declarar todas as dependências, fazer todas as instalações necessárias.

Dessa forma sempre que quiser uma versão nova da sua imagem basta alterar o Dockerfile. (Além de poder fazer o controle de versão do próprio arquivo Dockerfile)

Não conheço muito de PHP mas sugiro que de uma olhada nessa imagem do docker: https://hub.docker.com/_/php/

Foi uma das que mais encontrei referencias para PHP. Além disso ela já vem com alguns facilitadores para o PHP.

Espero ter ajudado.

Eu tenho um sistema feito em PHP e estou com a pasta dele na área de trabalho eu queria criar a imagem desse sistema junto com o ubuntu,apache,postgres.Como faço para copiar essa pasta para com meus arquivos do sistema para /var/www/ no apache? Minha intenção é criar uma imagem já com o centos/apache/postgre.E assim rodar meu sistema apartir de um conteiner !!!

Você pode utilizar a instrução COPY no seu arquivo Dockerfile. exemplo:

COPY ~/MinhaAplicacao /var/www

Dessa forma ao efetuar o build será copiado o conteudo do diretório ~/MinhaAplicacao para o container no diretório /var/www.

De uma olhada nesse link: https://docs.docker.com/engine/reference/builder/#copy