Pular para o conteúdo

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.
Rodrigo Alvares cooltrick
Hits: 12.189 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: 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"


O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   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
Nenhum artigo encontrado.

Instalando o Ultra Servidor no Debian Lenny

Gerenciando os seus códigos-fonte com um sistema CVS

PROXMOX Overview - Virtualização Leve e Eficiente

Docker - Infraestrutura simples e rápida

eViacam no Ubuntu 10.10 - Acessibilidade: Movendo o mouse com movimentos da cabeça

#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.
___________________________________________________________________
"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
#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

Entre na sua conta para comentar.