Esse é um post para mostrar os comandos básicos para administrar containers em docker.

Documentos relacionados
Wellington Figueira da Silva. Novatec

Ansible instalando Puppet

WINDOWS. 1. Baixar o software cwrsync e efetuar a instalação.

Objetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios.

Criando o ambiente para o Curso Avaliação Genômica por Single Step

Guia - SimEON (Simulator for Elastic Optical Networks ) William Silva dos Santos Observações:

LABORATÓRIO ZERO. INTRODUÇÃO AO NETKIT Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Interface gráfica do linux

Centro Paula Souza TUTORIAL PARA INSTALAÇÃO DO BOCA

Administração de sistemas Linux. Administração de processos.

TUTORIAL GIT Victor Breder Comp-19 Março de 2017

Manual de Instalação SI-150

Administração de Redes Linux

Questões e dicas. Servidores: Samba Sistema: Discos e partições Sistema: Rede Servidores: SSH Cliente: SSSD Servidores: BareOS/Bacula

INSTALANDO O HYPER-V EM SISTEMAS OPERACIONAIS WINDOWS

Manual. Instalação de arquivos e pacotes no. Linux Educacional. Gerenciando pacotes e arquivos. Produzido por: Rafael Nink de Carvalho

Administração de sistemas Linux. Os níveis de inicialização do sistemas (runlevel)

Manual de Instalação do TelEduc 4.4

Caso você seja estudante e não tenha uma conta na DO, recomendo fortemente que você crie

Tutorial Ambiente, instalação e começando um novo projeto Django

Laboratório FTP. Francisco Edigleison da Silva Barbosa Professor: Kelvin Lopes Dias

Laboratório SMTP. Francisco Edigleison da Silva Barbosa Professor: Kelvin Lopes Dias

Manual de uso do Programa Cliente para Linux

SISTEMAS OPERACIONAIS

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Administração de sistemas Linux. Gerenciamento de serviços

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Guia de instalação do REIS

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Processos. Volnys Borges Bernal. Edson Toshimi Midorikawa

2017/07/25 19:38 1/10 DocFix

Primeiro enviar o SMS para configurar o IP da plataforma 1818

* Será solicitado usuário e senha para acessar a página de downloads no link acima, informe os dados que o suporte lhe enviou. *

Introdução a Sistemas Abertos. Ambiente shell

1. Requisitos de Instalação Procedimentos Iniciais Instalação do WinThor Anywhere (Padrão)... 3

Prefácio. Objetivo. Público alvo. Convenções utilizadas neste manual. Tabela 1. Convenções do manual

Zabbix 3 Instalação INSTALAÇÃO

Administração de sistemas Linux. Estrutura de diretórios Linux O diretório /etc

Docker Mão na massa. Eustáquio Mendes Guimarães Meetup Mão na massa DOCKER - DF

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

MANUAL DE USUÁRIO. Versão 1.0 Servidor

Cluster de Alta Disponibilidade com Docker Swarm

Asterisk para Raspberry Pi

Manual de Compilação/Execução da Aplicação SmartHome

Ponto de Presença da RNP na Bahia - PoP-Ba. Pacote RedeComep

Controle de versão utilizando Git André G. C. Pacheco Janeiro de 2018

MANUAL DE INSTALAÇÃO

Primeiros passos com no trabalho com Git

SMA PROCEDIMENTO DE ACESSO AO SISTEMA

2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)... 10

Laboratório de Redes de Computadores INSTALANDO SERVIDOR APACHE NOS CENTOS 6.5

Guia de Instalação. 1. Guia de Instalação do Nintex Workflow 2010

Gerência de Redes de Computadores NAGIOS. Prof. Alex Furtunato

PROCEDIMENTO DE EXPORTAÇÃO A PORTAIS IMOBILIÁRIOS

Linux CRON

Disciplina: Segurança de Redes. Professor: Roitier Campos

Controle de Versões com o Git

Título: Como configurar o Agente de Backup em Nuvem?

TUTORIAL DE INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO ANDROID NO UBUNTU

SMA PROCEDIMENTO DE ACESSO AO SISTEMA SMA PROCEDIMENTO DE ACESSO AO SISTEMA

Tutorial para Instalar e configurar o Xampp

Linha de Sistemas Folhamatic

Fazendo cópia de segurança

Laboratório 8. Configurando o Serviço de . Neste laboratório iremos configurar um servidor de usnado os serviços IMAP e POP3

Meu Blog: Mais sobre o Ubuntu LTS no link:

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

MANUAL DO SECURE CLIENT

TOTVS Utilização dos Aplicativos. Arquitetura e Instalação

MANUAL DE INSTALAÇÃO

Instalação Wiser. Sistema Operacional Linux Red Hat

STD SERVIÇO DE BACKUP EM NUVEM

LUIS GUILHERME MACHADO CAMARGO PEDRO ALBERTO DE BORBA RICARDO FARAH STEFAN CAMPANA FUCHS TELMO FRIESEN MAPEAMENTO DE AMBIENTES COM O ROBÔ BELLATOR

Comandos de arquivos

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Prática 01: Conceitos Iniciais

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Meios de Comunicação de Dados.

Pacote de instalação dos componentes Selo Digital /SP

Como configurar cópia de segurança automática do banco de dados usando a ferramenta SQL Backup and FTP?

Tutorial de Instalação do Apache, PHP e MySQL no Ubuntu

Instalação e Configuração de Servidores Linux Server Pós-Instalação. Prof. Alex Furtunato

Aula 02 Controlador OpenFlow

Sistema Operacionais II. Aula: Virtualização

Instalação e Configuração do Servidor de DHCP

Instalação ou Atualização do Aplicativo GigaERP (procedimento via instaladores)

Instalação do Integração SGNFe no Servidor Linux:

CashDriver Android Instalação

Configurando VPS Proxy e SSH

Acesso através do Navegador Mozilla Firefox

Configurar Sensu e outras ações aos clientes do registro

MÓDULO 01 INTRODUÇÃO AO LINUX

Docker - From zero to hero

Aula 11 - Enjaulamento de SO

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

Backup do Samba 4. Introdução. Backup do samba4

Relembrando. Em nossas primeiras aulas discutimos o conceito do que seria um processo! Quem lembra?

Mobile Device Management

Dicas PET-Tele. Instalação do módulo CGILua no Apache 2.2

GLPI Gestão total e gratuita do seu parque informático

Laboratório de Redes Prof. Dinailton

Transcrição:

Docker Básico Opa! Esse é um post para mostrar os comandos básicos para administrar containers em docker. O Docker é uma ferramenta criada para gerenciar containers, os desenvolvedores pegaram o LXC e o GIT misturaram as duas coisas e acabou saindo essa tecnologia, que por sinal é muito legal e útil. Qual o objetivo do Docker? Fazer o deploy de aplicações de forma mais confiável. Como ele faz isso? Quando é realizado o deploy de uma aplicação, são necessárias uma série de configurações, como por exemplo: Dependências do Sistema Operacional Dependência de bibliotecas da aplicação Permissões de Arquivos e Pastas Criação de Usuários e Grupos Mover,Apagar ou Renomear Arquivos Esses são só alguns exemplos de coisas que talvez precisem ser realizadas durante o deploy de uma aplicação, pode ser também que nenhuma delas seja necessária. Mas como o Docker resolve isso? Com o Docker é possível fazer o deploy de uma aplicação dentro de um container, fazer todos os testes possíveis e depois mandar o container inteiro para o servidor de produção, assim você pode garantir que tudo está funcionando, uma vez que foram enviadas todas as alterações citadas acima. Dessa forma o ambiente já vai configurado e o seu deploy fica muito mais confiável. Como isso é feito? Normalmente é utilizado um cara chamado registry que é onde você hospeda as imagens do seus

containers, o próprio docker disponibiliza um público para que você possa utilizar gratuitamente, para acessa-lo é só acessar esse endereço: https://hub.docker.com/. Mas você também pode ser o seu próprio registry internamente. Bom vamos aos comandos do docker para que você possa entender como isso é feito. Para instar o docker na sua máquina basta seguir as instruções no site oficial: https://docs.docker.com/engine/installation/ No meu caso, eu uso uma distro linux Debian 8, para instalar o Docker foram executadas as seguintes instruções: Todos os comandos abaixo foram executados como root, caso você não esteja com esse usuário certifique-se de digitar sudo na frente dos comandos. apt-get purge lxc-docker* apt-get purge docker.io* apt-get update apt-get install apt-transport-https ca-certificates -y apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 - -recv-keys 58118E89F3A912897C070ADBF76221572C52609D echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list apt-get update apt-get install docker-engine -y service docker start

Para criar um container, você pode digitar a seguinte instrução: docker run -ti --name teste --hostname teste ubuntu /bin/bash Feito isso você já estará dentro do container, o seu terminal deve ter ficado da seguinte maneira: root@teste:/# Isso significa que você já está dentro do container. Explicando alguns parâmetros. -t Esse parâmetro definir que você quer um tty no seu container, para que você possa digitar os comandos. -i Esse é de interative, para você poder interagir com o tty que foi dado ao seu container. Existe também o parâmetro -d que pode ser passado em conjunto com o -ti, esse parâmetro signfica detach, ou seja, ele desprende o container do seu terminal, assim o seu container fica sendo executado em background e você não entra direto na shell dele. Para sair do container você precisa digitar CTRL+P CTRL+Q, assim você sai do container e o mantém em execução, caso você execute um CTRL+D que é o que fazemos quando queremos sair de um terminal, você será desconectado do container e ele será parado automaticamente. Para ver os containers em execução digite a seguinte instrução: docker ps Caso você queria ver os containers também parados adicione a opção -a.

docker ps -a Quando executado o comando acima, você terá uma saída como essa: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b517bd4dc3d1 ubuntu "/bin/bash" 5 minutes ago Exited (0) About a minute ago Sempre que for executar uma instrução em um determinado container, pode-se utilizar tanto o CONTAINER ID quando o NAME do container. Caso você tenha parado o container sem querer utilizando o CTRL+D, para faze-lo voltar a funcionar digite o seguinte comando: docker start teste No comando acima você pode tanto usar teste que é o NAME do container quando o ID do container, que no meu caso é b517bd4dc3d1. Para executar um comando dentro de um container, você pode utilizar a seguinte instrução: docker exec -ti teste cat /etc/hosts O comando será executado e você voltará ao terminal da máquina host. Caso você queira abrir uma shell para digitar vários comandos você pode fazer da seguinte maneira: docker exec -ti teste /bin/bash Existe também uma opção attach para o container, por exemplo:

docker attach teste Essa instrução faz com que você volte para o comando executado quando criado o container, no nosso exemplo foi executado o /bin/bash, então você terá uma shell, mas poderia ter sido executado um python /opt/teste.py, então nesse caso você não teria uma shell e o seu terminal ficaria travado. Caso você queira ver todos os comandos que foram executados dentro de um container em execução, você pode executar a seguinte instrução: docker logs teste Pode-se ver também o consumo de um container utilizando a instrução abaixo: docker stats teste Ou até mesmo ver os processos que ocupam mais ciclos da CPU: docker top teste Uma vez que você fez todas as configurações dentro do seu container, pode-se gerar uma imagem dele para que o próximo container gerado a partir dessa imagem tenha as mesmas configurações. Para isso executa o seguinte comando: docker commit teste imagem_teste Será gerada uma imagem baseada no container especificado. Para ver a lista de imagens que você possui, digite a seguinte instrução: docker images

A saída do comando será parecida com essa: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE imagem_teste latest f0ad3b913e94 3 seconds ago 187.9 MB Agora você pode enviar a sua imagem para o docker hub, para isso a primeira a coisa a se fazer é dar uma tag para a sua imagem com o seu login do docker hub e o nome da imagem, por exemplo: docker tag imagem_teste alissonmenezes/imagem_teste:latest Isso definiu que a minha imagem_teste possui a tag alissonmenezes/imagem_teste:latest ou seja, é a última versão da imagem. Antes de enviar a sua imagem para o docker hub, é necessário efetuar o login, para isso digite a seguinte instrução: docker login --username alissonmenezes -- email=alisson.machado@responsus.com.br Será solicitada a senha no terminal, uma vez informada e correta será exibida a seguinte mensagem: WARNING: login credentials saved in /home/wally/.docker/config.json Login Succeeded Agora para envia-la para o docker hub você precisa passar a tag e não o nome da imagem, ficando o comando da seguinte forma: docker push alissonmmenzes/imagem_teste Uma vez terminado o push para o hub.docker.com, qualquer

pessoa pode baixa-la executando o seguinte comando: docker pull alissonmmenzes/imagem_teste Agora você pode deletar o seu container utilizando o seguinte comando: docker stop teste docker rm teste É necessário parar o container antes de deleta-lo. O backup da imagem já foi feito no docker hub, então pode ser deletado também: docker rmi imagem_teste E é isso ai. Valeu \o