Skip to content

Latest commit

 

History

History
131 lines (92 loc) · 4.75 KB

1_ExerciciosGuiados.md

File metadata and controls

131 lines (92 loc) · 4.75 KB

Exercicios guiados

1 - Crie um container Mysql.

1.1 Acesse o portal https://hub.docker.com e pesquise a imagem Mysql e vamos ver na documentação como inicializar o contianer. Para iniciar o nosso serviço com a imagem do Mysql, vamos inicia-lo com algumas variaveis:


MYSQL_ROOT_PASSWORD=r00tpa55
MYSQL_DATABASE=items
MYSQL_USER=user1
MYSQL_PASSWORD=mypa55

# docker run --name mysql-basic \
-e MYSQL_USER=user1 -e MYSQL_PASSWORD=mypa55 \
-e MYSQL_DATABASE=items -e MYSQL_ROOT_PASSWORD=r00tpa55 \
-d mysql:8.0

Pull container MySQL

Vamos entender cada um dos itens do comando:

  • --name parâmetro que permite ser inserido um nome para o seu container. Neste exemplo o nome do nosso container será mysql-basic;
  • -e são as variáveis de ambiente que o container permite que o mysql já inicie com estas configurações. Neste exemplo o MYSQL_USER e MYSQL_PASSWORD estão passando o usuário e senha do banco de dados, o MYSQL_DATABASE esta iniciando o nome da nossa database e o MYSQL_ROOT_PASSWORD é a senha do administrador do banco;
  • -d ele indica ao Docker para iniciar o container em background (modo daemon);
  • mysql:8.0 inidca a imagem que vamos utilizar e a tag que desejamos baixar. Neste exemplo estamos falando para o docker baixar a imagem mysql com a tag 8.0.

Obs:Sempre que for necessário inicializar um container com variáveis de ambiente, como as inseridas no exemplo acima, é de extrema importância ver a documentação ou então identificar através do arquivo dockerfile quais as variáveis que o container suporta

1.2 Vamos verificar se o nosso container inicializou corretamente.

# docker ps

Pull container MySQL

Com este comando conseguimos visualizar todos os containers em execução no nosso host no momento e para o nosso exemplo é um sinal de que tudo esta rodando perfeitamente.


2 Vamos acessar o bash do nosso container que esta executando.

# docker exec -it mysql-basic /bin/bash

Pull container MySQL

Vamos entender cada um dos itens do comando:

  • exec possibilita que seja possivel ser executado qualquer comando sem que seja preciso estar no console do container. O docker exec executara apenas se o container estiver running, caso contrario retonará uma mensagem de erro;
  • -it o -i modo interativo. Mantém o STDIN aberto mesmo sem console anexado e o -t ele aloca um pseudo TTY;
  • mysql-basic é o nome do container que vamos abrir o terminal para interagir dentro do container;
  • /bin/bash ele vai obter o shell (bash) do container.

Obs:Alguns containers não suportam o /bin/bash, as alternativa para substituição são: sh; /bin/ash/


3 Vamos aidcionar dados ao nosso banco de dados.

3.1 Ainda dentro do container que executamos nos passos anteriores, vamos interagir com o nosso mysql e para isso precisamos utilizar o usuário e senha que passamos nas variaveis de ambiente quando iniciamos o container.

# mysql -uroot -pr00tpa55

Pull container MySQL

O comando mysql abre o prompt interativo do banco de dados MySQL.

Para visualizar todas as databases:

# show databases;

Pull container MySQL

3.2 Vamos criar uma tabela dentro da database items. Para conseguir criar uma tabel é preciso primeiro selecionar qual database vamos utilizar.

# use items;

Pull container MySQL

3.3 Vamos criar uma tablea chamada Projects.

CREATE TABLE Projects (id int NOT NULL,
name varchar(255) DEFAULT NULL,
code varchar(255) DEFAULT NULL,
PRIMARY KEY (id));

Pull container MySQL

3.4 Usar show tables para visualizar as tabelas existentes.

# show tables;

Pull container MySQL

3.5 Vamos inserir algumas informações na nossa tabela. E depois de criada, vamos então visualizar as informações dentro da tabela.

insert into Projects (id, name, code) values (1,'docker','IBM');

Pull container MySQL

select * from Projects;

Pull container MySQL

3.6 Para sair do container basta digitar exit duas vezes e para finaliza-lo docker stop.

exit

Pull container MySQL

Mesmo saindo do container ele ainda esta sendo executado.

Pull container MySQL

Para finaiza-lo basta executar:

# docker stop mysql-basic

Pull container MySQL

Pull container MySQL