Docker, Git e PHP

Publicado por Mundo Docker em 15/10/2015

[ Hits: 5.488 ]

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

Docker - API Autenticada

Sysdig para Ops

Docker Exec

Docker Capabilities

Docker API com Python

Leitura recomendada

PHP + Shell script

Como instalar o PHP5 no Debian 9 Stretch

Funções com nomes variáveis em PHP, isso existe sim!

PHP Debug

Classe para validação de formulários em PHP

  

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