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"