Fórum Unificado de Romhacking e Tradução

Entre outras coisas... => Assuntos Diversos => Tópico iniciado por: kodo no kami online Abril 27, 2017, 15:09:07 PM

Título: [tutorial] container docker
Enviado por: kodo no kami online Abril 27, 2017, 15:09:07 PM
e ae galera nesse tutorial vamos aprender mexer com docker, no caso o docker é um conteiner e seu funcionamento é parecido com as maquinas virtuais porem de uma forma totalmente diferente, em uma maquina virtual voce tem uma emulação do proprio sistema a nivel do kernel dele em cima de um sistema real quem faz essa emulação é a maquina virtual, em um conteiner voce tem apenas a execução dos proprios arquivos e diretorios do novo sistema em cima do kernel do sistema real de uma forma isolada, com isso voce vai ter um ganho alto em processamento e memoria ja que não necessita carregar todo o sistema operacional apenas os programas e bibliotecas necessario para rodar o mesmo, é possivel rodar distro diferentes do sistema real como um centos dentro do ubuntu real (porem sistemas em arquiteturas diferente nao funciona entao rodar um 64bits em um 32 nao vai funcionar), tambem é possivel abrir varios sistemas ao mesmo tempo, para começar a gente baixa o docker caso nao tenha ele, nas distros ubuntu e debian pode ser baixado pelo proprio repositorio da distro

sudo apt-get install docker

para testar apenas digitamos docker para mostrar as opções (necessario esta como root para usar o docker)

sudo docker

http://i65.tinypic.com/2n8to1s.jpg

com o docker instalado precisamos de uma image do sistema operacional, para conseguir uma procuramos no proprio repositorio do docker (tambem é possivel criar uma), para procurar usamos o comando docker search seguido de uma palavra no meu caso vou procruar por um fedora 32bits (alem de distros normais tambem existem distros com programas especificos ja instalado para facilitar)

sudo docker search fedora32

http://i65.tinypic.com/2d10g46.jpg

no caso eu quero o "hugodby/fedora32", podemos simplesmente executar ele caso nao exista localmente o proprio docker vai puxar ele do repositorio, para fazer isso usamos o comando docker run depois -t (tty) e -i (interativo), depois o nome do arquivo "hugodby/fedora32", por fim o que vamos executar nele nesse caso o bash do sistema "/bin/bash", como eu não tinha ele aqui então ele baixo aquele sistema fedora (132mb)

sudo docker run -t -i hugodby/fedora32 /bin/bash

http://i63.tinypic.com/2z7o2vr.jpg

depois de baixar voce vai cair no terminal do novo sistema

http://i65.tinypic.com/2rmnwjq.jpg

tudo que for executado ali é o mesmo que esta executando em um fedora, exemplo o repositorio yum que é do federa (red hat, centos) diferente do debian que é o apt

yum search netcat

http://i64.tinypic.com/33112q9.jpg

voce pode abrir quantos sistemas quiser bastando digitar aquele mesmo comando run, cada um sera uma instancia nova daquele que voce baixo e não o mesmo, veja 5 fedoras rodando ao mesmo tempo no mesmo sistema

sudo docker run -t -i hugodby/fedora32 /bin/bash

http://i64.tinypic.com/35a8z0m.jpg

para voltar para o terminal do sistema real sem fechar o virtual, seguramos o control depois apertamos "p" depois "q"

http://i63.tinypic.com/2wgf78h.jpg

para a gente listar todas as images dos sistemas usamos o comando docker images no sistema real

sudo docker images

http://i64.tinypic.com/o6mzpw.jpg

para listar todos os conteiner rodando usamos o comando docker ps

sudo docker ps

http://i64.tinypic.com/wheeqo.jpg

para a gente voltar para aquele container novamente usamos o comando docker attach seguido do id dele

sudo docker attach 997ee6d61487

http://i66.tinypic.com/24o9ds2.jpg

se a gente fechar esse container e abrir em uma nova instancia tudo que a gente fez sera perdido para salvar todas as alteração do container em um nova image usamos o comando docker commit seguido do id do container e depois o novo nome da image

sudo docker commit 997ee6d61487 kodofedora

http://i68.tinypic.com/1zecprb.jpg

como tambem podemos remover uma image com o comando docker rmi seguido do id da image

sudo docker rmi 2edbbfc9012d

http://i63.tinypic.com/fw81zd.jpg

bom galera existem muitos outros comando alem desses citados \o

by kodo no kami