Restaurar o backup das 2 VMS, e instalar o docker na VM01
Como eu havia criado alguns Snapshots da VM01 da Sprint 1, restaurei até ao ponto seguinte ao da configuração de ip fixo, lá no Oracle VM Virtual Box e clonei a VM01.
Assim que eu acessei a VM01 pelo root e com a senha, inseri o comando abaixo para atualizar o conjunto de utilitários e extensões para o gerenciador de pacotes mais recente.
yum install yum-utils -y
Este comando adiciona o repositório do Docker Community Edition (Docker CE) ao sistema, permite que instale o Docker a partir deste repositório é usado para adicionar o repositório do Docker ao gerenciador de pacotes.
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Os comandos abaixo são para a instalação do Docker no Linux. O comando dnf remove -y runc
remove o pacote runc, e dnf install -y docker-ce --nobest
instala o Docker CE.
dnf remove -y runc
dnf install -y docker-ce --nobest
É chegada a hora de habilitar, iniciar e verificar o status da instalação do Docker.
systemctl enable docker
systemctl start docker
systemctl status docker
Verificar agora a versão e fazer o "hello-world":
docker --version
docker run hello-world
Agora que o Docker foi instalado na VM01, vamos ao próximo passo, que é o desafio 2.
Criar uma imagem do postgresql rodar a imagem e persistir os dados do banco em um volume
O próximo passo para é obter a imagem do PostgreSQL do Docker Hub. Para realizar isso, executei o comando a seguir:
docker pull postgres
Para garantir a persistência de dados, foi criado o volume pgdata
. Isso assegura que os dados do PostgreSQL não sejam perdidos caso o contêiner seja interrompido ou reiniciado.
docker volume create pgdata
Para colocar o contêiner postgres
em funcionamento, executei o comando a seguir no terminal:
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=Senha@ -v pgdata:/var/lib/postgresql/data postgres
-d --name
possibilita nomear o contêiner epostgres
é o nome dele.-p
mapea a porta 5432 que é a padrão do PostgreSQL-e POSTGRES_PASSWORD
define a senhaSenh@
-v pgdata:/var/lib/postgresql/data
define o volumepgdata
como o local onde os dados do PostgreSQL serão armazenadospostgres
é o nome da imagem que foi usada para criar o contêiner homôninopostgres
.
Para entrar no contêiner, usei o comando:
docker exec -it postgres /bin/bash
Agora que o contêiner PostgreSQL está rodando, consegue estabelecer uma conexão com ele pelo psql
pela linha de comando do PostgreSQL.
psql -h localhost -p 5432 -U postgres
Já que estamos no PostgreSQL, é possível criar um banco de dados. Além disso, logo em seguida inseri alguns dados:
create table cor(id INTEGER PRIMARY KEY. nome VARCHAR);
insert into cor values(1,'azul'):
Saí do PostgreSQL, saí do Docker, reiniciei a VM01.
Depois disso, reiniciei o Docker com docker restart
, entrei novamente no PostgreSQL com psql -h localhost -p 5432 -U postgres
e acessei a tabela criada antes do reboot com \dt
:
docker restart postgres
docker exec -it postgres /bin/bash
psql -h localhost -p 5432 -U postgres
\dt
Foi verificada a persistência dos dados no PostgreSQL e agora, vamos ao próximo passo: desafio 3.
Instalar o docker no linux, criar uma imagem do wordpress com banco de dados e persistir os dados usando docker-compose
Como já havia instalado o compose nos desafios anteriores, utilizei o comando abaixo para verifica a situação do Compose.
docker compose version
A partir daí, criei um diretório mkdir
e usei cd
para acessá-lo e assim conseguir criar e editar um arquivo yml.
mkdir /wordpress
cd /wordpress
vim docker-compose.yml
Inseri o comando docker compose up
para
docker compose up
O próximo passo foi acessar pelo navegador o IP fixo da VM junto com a porta configurada no arquivo yml para gerar as imagens e configurar os contêineres.
https://192.168.0.50:2000
Após a configuração do usuário e senha do Wordpress no navegador, para verificação da persistência de dados, inseri o comando para desmontar os contêineres.
docker compose down
Voltei ao navegavor e tentei acessar novamente pelo mesmo IP de antes, porém não houve sucesso.
Mais uma vez entrei com o comando para iniciar novamente os contêineres.
docker compose up -d
A partir daí, ao atualizar a página com o mesmo IP de antes, foi possível acessar o Wordpress.
Agora, vamos às Sprints 3 e 4 .