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.066 ]

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 [email protected] 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 [email protected]: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 [email protected]: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

AMSN, uma opção Open Source para o Messenger da Microsoft

Instalando o IBExpert no Linux e acessando o Firebird

GRUB 2 - Monte você mesmo o menu

CmapTools: Gestão do Conhecimento através de Mapas Conceituais no Linux

Rodando vídeos .rmvb no 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