Docker, Git e PHP

Publicado por Mundo Docker em 15/10/2015

[ Hits: 5.464 ]

Blog: http://www.mundodocker.com.br

 


Docker, Git e PHP



Olá! Nossa dica hoje tem relação com automação de deploys, utilizando o Docker podemos criar um ambiente ágil para deploy tanto para testes, homologação, pré-produção ou até mesmo produção. Acompanhe!

1. Criando uma imagem

Primeiro temos que ter uma imagem do sistema, no nosso exemplo nós vamos criar uma a partir de um container, para isso, vamos criar o container:

# docker run -it centos /bin/bash

Com este comando criamos um container em modo iterativo, ou seja, é possível acessar o container e executar os comandos que desejar. Feito isso, vamos instalar o Git, Apache (ou nginx, o que preferir) e o PHP:

# yum install httpd php git -y

Feito isso, vamos agora criar um script para que quando um container for iniciado, utilizando essa imagem, ele possa se conectar em uma conta to GitHub e clonar o seu projeto, segue o script:

# vim /script.sh

#!/bin/bash
token=$1
name=$2
repository=$3
git clone https://$token@github.com/$name/$repository.git /var/www/html
/usr/sbin/httpd -DFOREGROUND -k start &
/bin/bash > /script.sh

Salve o arquivo e deixe-o com permissão de execução:

# chmod +x /script.sh

Agora basta criarmos a imagem baseado nesse container, para isso volte até o host (pode utilizar o atalho Ctrl + p + q do teclado) e execute o comando:

# docker commit 1ca67f2f14ce nomedaimagem

O Docker criará a imagem baseada no container que acabamos de modificar, execute o comando abaixo para listar as imagens que estão em seu host agora:

# docker images
REPOSITORY    TAG     IMAGE ID      CREATED       VIRTUAL SIZE
nomedaimagem  latest  bb270de71f33  1 second ago  230.7 MB

2. Gerando o Token de acesso

Para gerar seu token de acesso junto ao GiThub é bem fácil. Acesse: https://github.com, logue-se com o seu usuário e senha do GitHub, em seguida vá até o ícone de seu usuário (geralmente fica à esquerda na página), navegue até Settings - Personal Access Tokens. Gere um novo Token e armazene essa informação para o próximo passo.

3. Iniciando o container

Depois de a imagem criada, basta criar o container ou containers que quiser:

# docker run -p 80:80 nomedaimagem /script.sh SEUTOKEN NOME REPOSITORIO

Agora acesse no navegador: http://ipdoservidor/ e ele carregará a página que você criou e salvou em seu repositório no GitHub, no nosso caso, nós criamos apenas uma index.php com um:

<?php echo "olá MundoDocker" ?>

Fácil não? Baseado nisso podemos evoluir muito mais, podemos por exemplo automatizar o deploy de aplicação mais complexas, blogs, e-commerce, etc. Mas isso fica para a próxima.

Que ver mais? Acesse:
E acompanhe as novidade de nosso blog!
Abraço!

Outras dicas deste autor

Monitorando o consumo de containers Docker

Sysdig para Ops

Docker Exec

Docker: Persistindo dados -BTSync

Docker Capabilities

Leitura recomendada

FirePHP: Depurador de códigos PHP

Conversão de Arquivo TXT em PHP

Tudo em Um - Site pessoal sobre PHP, HTML, CSS etc

Plugin com controle de acesso para CakePHP 3

Escovando bits em PHP: operações bitwise e uma função debug

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts