Solução de PaaS Brasileiro - Docker, Shell Script e Golang

Iniciei minha aventura no mundo Docker há 6 meses e com a necessidade de agilizar o provisionamento de contêineres iniciei um projeto chamado git2docker.io. Espero que seja útil a alguém.

[ Hits: 9.810 ]

Por: Rodrigo Alvares em 24/04/2015


Usando o git2docker - Máquina cliente



O servidor git2docker utiliza chaves para autenticação sem senha.

Gerando e adicionando a chave de autenticação:

mkdir ~/.git2docker
$ ssh-keygen -t dsa
$ cp -rf ~/.ssh/id_rsa* ~/.git2docker/
$ cat ~/.git2docker/id_rsa.pub | ssh user@192.168.100.56 git2docker


Baixando e instalando o CLI:

curl https://github.com/cooltrick/git2docker.io/raw/master/git2docker-client/linux/git2docker
chmod +x git2docker

cat > ~/.git2docker/git2docker.conf <<EOF
user=user
host=192.168.100.56
EOF


Exemplo de deploy e administração

Fazendo um deploy simples utilizando o mode de detecção de código - Heroku style:

git clone https://github.com/heroku/node-js-sample
$ cd node-js-sample
$ git init


Crie um arquivo chamado git2docker.conf:

O arquivo git2docker.conf e o arquivo que contem as opções de deploy da aplicação irei explicar mais detalhadamente.

echo state=build > git2docker.conf

$ git add --all
$ git commit -m "build"
$ git remote add git2docker user@192.168.100.56:node-js-sample
$ git push git2docker master


Caso queira fazer um deploy de um Dockerfile, siga o exemplo:

mkdir apache-demo
$ cd apache-demo
$ echo "FROM httpd:2.4" > Dockerfile
$ echo "EXPOSE 80" >> Dockerfile


Crie um arquivo chamado git2docker.conf:

O arquivo git2docker.conf e o arquivo que contem as opções de deploy da aplicação irei explicar mais detalhadamente.

echo state=dockerfile > git2docker.conf

$ git add --all
$ git commit -m "build"
$ git remote add git2docker user@192.168.100.56:apache-demo
$ git push git2docker master


Para parar ou remover a aplicação basta mudar a opção state no arquivo git2docker.conf.

Removendo a aplicação:

echo state=remove > git2docker.conf

Parar a aplicação:

echo state=stop > git2docker.conf

Iniciar a aplicação:

echo state=start > git2docker.conf

Depois de editar o arquivo, basta executar as operações básicas git:

git add --all
$ git commit -m "build"
$ git push git2docker master


Ou utilizar o client como nos exemplos abaixo:

./git2docker -ps
| apache-demo                    is Up |

./git2docker -stop --name=apache-demo
| apache-demo                   Stopped |

./git2docker -start --name=apache-demo
| apache-demo                  Started |

./git2docker -logs --name=apache-demo
172.17.0.3 - - [16/Apr/2015:15:08:45 +0000] "GET / HTTP/1.1" 200 22698 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
172.17.0.3 - - [16/Apr/2015:15:08:46 +0000] "GET / HTTP/1.1" 200 22700 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
172.17.0.3 - - [16/Apr/2015:15:13:31 +0000] "GET / HTTP/1.1" 200 22702 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
172.17.0.3 - - [16/Apr/2015:15:13:32 +0000] "GET / HTTP/1.1" 200 22698 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
172.17.0.3 - - [16/Apr/2015:15:13:32 +0000] "GET / HTTP/1.1" 200 22702 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"


Página anterior     Próxima página

Páginas do artigo
   1. Git2Docker - Servidor
   2. Usando o git2docker - Máquina cliente
   3. Opções do git2docker.conf
   4. Utilizando um nginx proxy para efetuar o deploy da aplicação utilizando a opção domain
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o RealPlayer 10 no Linux

Aptitude, uma ferramenta poderosa

FeniX Green 3D/HD

Inkscape - Introdução (parte 2)

Shell do GNU/Linux

  
Comentários
[1] Comentário enviado por bleckout em 26/04/2015 - 14:09h

Faltou uma coisa importante: Para que serve o Docker? :)

Mas o artigo ficou muito bom.
___________________________________________________________________
[i]"Vivemos todos sob o mesmo céu, mas nem todos temos o mesmo horizonte." - Konrad Adenauer
Ubuntu 14.04 LTS amd64 - Core i7 3770K, 8GB RAM - NVIDIA GTX 760 Windforce[/i]

[2] Comentário enviado por cooltrick em 26/04/2015 - 15:27h

Boa tarde bleckout , a ideia do artigo não era falar sobre docker, pois existem ótimos materiais sobre docker no vivaolinux.

Ótimo artigo sobre docker:

http://www.vivaolinux.com.br/artigo/Docker-Infraestrutura-simples-e-rapida


[3] Comentário enviado por bleckout em 27/04/2015 - 08:38h


[2] Comentário enviado por cooltrick em 26/04/2015 - 15:27h

Boa tarde bleckout , a ideia do artigo não era falar sobre docker, pois existem ótimos materiais sobre docker no vivaolinux.

Ótimo artigo sobre docker:

http://www.vivaolinux.com.br/artigo/Docker-Infraestrutura-simples-e-rapida



Sou iniciante em programação, vai ser interessante eu saber disso.

Obrigado por compartilhar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts