A maior rede de estudos do Brasil

Grátis
4 pág.
Docker

Pré-visualização | Página 1 de 1

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.