Buscar

Docker para bancos de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Docker 
Normalmente no desenvolvimento de uma aplicação precisamos de um banco de dados instalado 
para testar nossas aplicações, seja o MySQL, PostgreSQL ou algum outro. 
Você também pode precisar de duas versões diferentes de um mesmo banco, por exemplo, o 
projeto A usa o MySQL 5.6, já a aplicação B precisa do MySQL 5.7. 
Pode ser que você alterne entre projetos, e um use o MySQL e o outro o PostgreSQL. 
Agora imagine você instalando, desinstalando e mantendo essa quantidade de bancos de dados no 
seu computador? É bem trabalhoso, não é verdade? 
E é nesse momento que podemos usar o Docker! 
O Docker vai facilitar sua vida para instalar, iniciar, parar e fazer tudo que você precisa para ter um 
banco de dados local para desenvolvimento. 
O primeiro passo é instalar o docker com o comando abaixo: 
# curl -fsSl https://get.docker.com | sh (este comando executará script de instalação do docker) 
# sudo usermod -aG $USER docker (este comando adiciona o seu usuário ao grupo docker) 
# newgrp docker (recarrega seu usuário ao grupo docker) 
Depois de instalado, vá até a prompt de comando e veja se está tudo certo com o comando 
mostrado abaixo (sua versão pode ser diferente da mostrada abaixo): 
 
 
https://get.docker.com/
Imagem e container 
Dois conceitos muito importantes que você precisa aprender sobre o Docker é a diferença entre 
uma imagem e um container. 
Imagem x container: São dois conceitos diferentes, porém que são usados juntos. A principal 
diferença é que você não pode executar diretamente uma imagem e a mesma é por consequência 
somente leitura, um modelo que será utilizado por um container. 
Imagem é um template para criar container, as imagens Docker ficam armazenadas no Docker 
Hub. 
Para baixar uma imagem use o comando: docker pull <nome da imagem> 
A partir de uma imagem podemos criar vários containers. 
Portanto, quando você precisar de alguma aplicação, como no nosso caso, vamos instalar o 
MySQL e o PostgreSQL. 
Criando um container do MySQL 
Voltando para a linha de comando, vamos baixar uma imagem e criar um container com o MySQL 
instalado e pronto para usarmos. 
Criando um container MYSQL 5.6. O comando abaixo pode demorar um pouquinho pra terminar: 
$ docker run -p 3306:3306 --name mysql-5.7 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 
Na primeira vez que você executar o comando acima, o Docker procura a imagem do MySQL no 
seu computador, como não a encontra, irá baixar na internet e isso pode demorar um pouco, são 
aproximadamente 300MB. 
Vamos entender os detalhes do comando acima: 
• run: serve para rodarmos um comando em um container, no caso do MySQL estamos 
iniciando o serviço de banco de dados e caso não exista a imagem base será baixada. 
• -p 3306:3306: aqui estamos dizendo que queremos que a porta 3306 de dentro do container 
seja mapeada para a porta 3306 local 
• –name mysql-5.7: é o nome do container, você que escolhe. 
• -e MYSQL_ROOT_PASSWORD=root: as propriedades passadas com o -e são variáveis 
de ambiente passadas para o container, nesse caso o container do MySQL pode ser 
configurado com MYSQL_ROOT_PASSWORD para trocar a senha do usuário root. 
• -d: serve para iniciar o container em background 
• mysql:5.7: o nome da imagem e versão, caso não informasse, seria baixado a última versão 
do MySQL disponível no Docker Hub. 
Use a IDE de sua preferência para conectar no MySQL, você usará o endereço localhost com a 
porta 3306 e usuário e senha definidos como root. 
Para conferir se o container está no ar, rode: 
$ docker ps 
Você verá algo como: 
 
Criando um container do PostgreSQL 
$ docker run -p 5432:5432 --name postgres-projeto-a -e POSTGRES_USER=usuario -e POSTGRES_PASSWORD
=senha -e POSTGRES_DB=instancia_banco_de_dados -d postgres:10 
Explicação: 
• -p 5432:5432: expondo a porta interna do container para acesso local, na sua máquina 
• –name postgres-projeto-a: é o nome do container, normalmente o nome do projeto que 
você vai trabalhar 
• -e : todos esses valores são para configurar o container, no caso do PostgreSQL, trocamos o 
usuário, senha e o nome da instância do banco. 
• postgres:10 é a imagem e a versão do Postgres que iremos utilizar 
Parando e iniciando um container 
$ docker stop nome-do-container 
Se usarmos o docker ps agora não veremos nenhum container listado, pois o ps mostra apenas os 
containers iniciados, mas se passar a opção -a ai sim você verá a lista de todos eles. 
$ docker ps -a 
$ docker start nome-do-container 
Comandos docker úteis: 
$ docker container inspect <nome do container ou id> (mostra todas as informações sobre o 
container, muito útil para verificar senha, rede, ip, volume etc..). 
$ docker images (exibe as imagens baixadas). 
$ docker ps (exibe os containers em execução). 
$ docker ps -a (exibe os containers parados e em execução). 
$ docker rm <nome do container ou id> (remove um container). 
$ docker rmi <nome da imagem ou id> (remove uma imagem). 
$ docker start <nome do container ou id> (inicia um container parado). 
$ docker stop <nome do container ou id> (para a execução de um container). 
$ docker restart <nome do container ou id> (reinicia um container). 
$ docker container attach <nome do container ou id> (entra na linha de comando do container) 
$ docker exec -it <nome do container ou id> (executa algum comando no container) 
Existem vários outros comandos e para ver uma list completa basta digitar: “docker” na sua 
linha de comando.

Continue navegando