Como instalar MariaDB e phpMyAdmin usando Docker

Neste tutorial você vai aprender como instalar MariaDB e phpMyAdmin usando Docker! Você aprenderá como criar containeres no Docker. Criaremos um container com o MariaDB e outro com o phpMyAdmin. Além disso, vamos utilizar a ferramenta de redes do Docker para que ambos containeres se comuniquem. Também utilizaremos a ferramenta de volumes do Docker para realizar a persistência de dados do MariaDB.

Este tutorial também possuí sua versão em vídeo no Canal da Homehost no Youtube!

Tópicos

O que são o MariaDB, o PhpMyAdmin e o Docker?

O MariaDB, é um banco de dados que originou-se com base no MySQL e são bem parecidos. Por ser baseado no MySQL, o MariaDB e o MySQL possuem compatibilidade quase que total entre seus recursos.

O phpMyAdmin é uma ferramenta para administração e gerenciamento de Banco de Dados. Ou seja, uma forma de gerenciarmos nosso banco de dados com uma ferramenta visual.

Aqui no Blog da Homehost, você pode encontrar diversos artigos e tutoriais sobre assuntos diversos de tecnologia. Dentre eles, temos alguns artigos a respeito desses temas! Recomendamos a leitura dos artigos abaixo para que você fique por dentro dos assuntos que serão tratados nesse artigo:

O Docker é uma ferramenta utilizada para facilitar o desenvolvimento, implantação e execução de aplicações e serviços em ambientes isolados. Ou seja, de forma geral, permite gerenciar a infraestrutura da aplicação de forma fácil.

O Docker é uma ferramenta para facilitar o desenvolvimento e execução de aplicações em ambientes isolados. Para isso, ele utiliza containeres, para gerar imagens Docker de uma aplicação. Dessa forma, podemos reproduzir essa aplicação em diversas plataformas, de qualquer porte. Ou seja, uma vez que sua aplicação está rodando sem falhas em um ambiente, utilizando o Docker, essa mesma aplicação funcionará da mesma forma em qualquer outro ambiente, servidor, etc. Os containers do Docker são isolados a nível de disco, memória, processamento e rede.

Por causa dessas características, o Docker vem sendo cada vez mais utilizado e se tornando um ferramenta importante para os desenvolvedores. Entender isso é muito importante para aprender como instalar o MariaDB e o phpMyAdmin usando o Docker!

O que é um Container Docker?

Segundo a descrição do próprio Docker sobre o que são containeres:

Um container é uma unidade padrão de software que empacota o código e todas as suas dependências para que o aplicativo seja executado de forma rápida e confiável de um ambiente de computação para outro.

Um Container gera uma imagem em tempo de execução. Já uma Imagem Docker, vai gerar um ou mais containeres necessários e especificados para rodar as aplicações contidas na imagem.

Portanto, vamos utilizar o Docker para iniciar containeres com o MariaDB e com o PhpMyAdmin, e utilizaremos uma imagem Docker para indicar uma conexão entre essas aplicações, e também para realizar a persistência de dados do MariaDB, através de “Volume”.

Uma coisa interessante no ecossistema do Docker é que podemos utilizar o site DockerHub para encontrar imagens prontas para utilizarmos, junto a suas documentações. Ou seja, podemos utilizar uma imagem Docker pronta e oficial do próprio MariaDB e/ou do phpMyAdmin para criarmos nosso container Docker e rodarmos a aplicação.

Instalação do MariaDB e do phpMyAdmin usando Docker

Antes de iniciarmos o tutorial, é necessário que você já possua o docker instalado em sua máquina. Você pode realizar o download e instalação do Docker Desktop através da Página “Get Started” do Docker.

Independente de você utilizar Linux, Mac ou Windows, os processos descritos aqui serão os mesmos.

O Docker Desktop é uma ferramenta visual que permite interagirmos com o Docker. Entretanto, vamos utilizar os comandos através do terminal do nosso sistema para interagir com Docker.

Primeiro Passo: Criando uma Rede interna no Docker

Antes de instalarmos o MariaDB e o phpMyAdmin no Docker, vamos iniciar uma rede interna. Essa rede interna será responsável pela comunicação dos nossos serviços.

Portanto, para criar uma rede no Docker, digite o comando abaixo no seu terminal:

docker network create REDE1

Observe que nos comandos acima, criamos uma rede com o nome de “REDE1”. Você pode utilizar o nome que desejar para a rede, mas é importante que mantenha o nome todo em maiúsculo ou todo em minúsculo.

Para listarmos as redes disponíveis em nosso Docker podemos utilizar o comando:

docker network list

Segundo passo: Criando o volume no Docker

O volume servirá para realizarmos a persistência dos dados do MariaDB no nosso Docker.

Portanto, para criarmos um volume vamos utilizar o comando:

docker volume create VOL1

Assim como no caso das redes, o nome que demos ao nosso volume é “VOL1”, porém você pode nomear da forma que desejar.

Para listar os volumes disponíveis no Docker, utilizamos o comando:

docker volume list

Terceiro Passo: Baixar a imagem do MariaDB e criar um container no docker para ele

Para instalar o MariaDB no Docker, vamos utilizar uma imagem oficial do MariaDB, disponível no dockerhub.

Portanto, utilize o terminal e realize os seguintes comandos para criar o container do mariaDB no docker:

docker run -d --name MARIADB -v VOL1:/var/lib/mysql -h db --network REDE1 --env MARIADB_USER=user --env MARIADB_PASSWORD=senha12345 --env MARIADB_ROOT_PASSWORD=senharoot123 mariadb:latest

O comando –name refere-se ao nome do container. Você pode optar por criar com o nome que quiser. Em nosso exemplo, utilizamos o nome “MARIADB”.

o comando -v refere-se ao volume, no caso, vamos utilizar o volume criado no 2º passo seguido do diretória que vamos utilizar (“VOL1:/var/lib/mysql“). Por padrão costumamos utilizar o diretório /var/lib/mysql para o mariadb.

O comando -h utilizamos para definir um hostname para nossa aplicação. Ou seja, podemos utilizar esses hostname como um “alias” para chamarmos por nosso container em outras aplicações. Portanto, em nosso exemplo, vamos utilizar o hostname “db”.

O comando –network refere-se a nossa rede. Vamos utilizar a rede criada no nosso 1º passo, ou seja a REDE1.

Os comandos –env servem para definiremos as variáveis de ambientes que serão aplicadas na instalação. No nosso caso, criamos 3 variáveis de ambiente que serão atribuídas ao nosso MariaDB na instalação:

  • MARIADB_USER – Definimos o nome de usuário do MariaDB
  • MARIADB_PASSWORD – Definimos a senha comum de acesso ao MariaDB
  • MARIADB_ROOT_PASSWORD – Definimos a senha de acesso Root ao MariaDB

Por fim, definimos qual é a imagem que vamos utilizar. No caso, será a imagem oficial do MariaDB, portanto, utilizaremos o nome especificado em sua documentação no dockerhub, na sua última versão: “mariadb:latest“.

Caso esteja com o Docker Desktop instalado, observe que nele agora vai aparecer um novo Container com o nome que utilizamos, no caso “MARIADB”. Ou seja, o nosso container está criado!

Para inspecionarmos o nosso container, podemos utilizar o comando “docker inspect” seguido do nome do container que desejamos inspecionar:

docker inspect MARIADB

Quarto Passo: Baixar a imagem do phpMyAdmin e criar um container no docker para ele

Vamos agora instalar o phpMyAdmin, que servirá para gerenciarmos o nosso banco de dados de forma prática, rápida e visual!

Para instalar o phpMyAdmin no Docker, vamos utilizar uma imagem oficial do phpMyAdmin, disponível no dockerhub.

Portanto, utilize o terminal e realize os seguintes comandos para criar o container do phpMyAdmin no docker:

docker run -d --name MYADMIN -h myadmin --network REDE1 -e PMA_HOST=db -p 8080:80

Observe que alguns comandos já foram explicados no terceiro passo. Portanto, definimos como nome do nosso container “MYADMIN”, como hostname “myadmin“, a rede como REDE1.

O comando “-e PMA_HOST=db” é a nossa referência ao nosso banco de dados. Ou seja, em nosso exemplo, ao hostname db que é o alias do nosso MariaDB criado no 3º passo.

O comando -p serve para definirmos a porta em que nosso serviço vai rodar. O phpMyAdmin contém um pequeno webserver que roda na porta 80. Atribuímos então a porta externa (que será utilizada no nosso navegador) 8080.

Por fim, referenciamos a imagem desejada. Portanto, vamos utilizar a imagem oficial, encontrada no dockerhub: “phpmyadmin“.

Observe que, diferentemente do terceiro passo, não definimos a versão como latest. Mas na realidade, é apenas para que você perceba que podemos ou não utilizar a tag “:latest”. Isto é, caso não seja definido nenhuma tag a nossa imagem, então será atribuído automaticamente a última versão. Portanto, utilizar a tag :latest ou deixar sem tag, resultará na mesma coisa.

Caso esteja com o Docker Desktop instalado, observe que nele vai aparecer um novo Container com o nome que utilizamos, no caso “MYADMIN”. Ou seja, o nosso container está criado!

Quinto passo: Acessando o phpMyAdmin e conectando ao MariaDB rodando no Docker

Seguindo os passos anteriores, você já realizou a instalação do MariaDB e do phpMyAdmin usando o Docker. Entretanto, agora precisamos acessar o painel do phpMyAdmin para gerenciar nosso Banco de Dados. Portanto, vamos utilizar os dados de acesso do MariaDB.

Portanto, abra o seu navegador, e utilize o endereço local com a porta externa definida no quarto passo. Ou seja, em nosso exemplo, acessamos o phpMyAdmin através do endereço “localhost:8080“.

acessando o php my admin - imagem artigo HomeHost - Como instalar MariaDB e phpMyAdmin usando Docker

Como dados de acesso, devemos então utilizar os dados que definimos ao criarmos o container Docker do MariaDB. Entretanto, para que você tenha acesso às configurações completas do banco de dados é necessário utilizar os dados de root. Portanto, como utilizador, você deve acessar como “root”. Você deve utilizar a senha especificada em “MARIADB_ROOT_PASSWORD”. Ou seja, no nosso exemplo a senha root é “senharoot123”. Por fim, basta clicar em “Entrada”.

acessando o phpmyadmin como root. Imagem artigo HomeHost - Como instalar MariaDB e phpMyAdmin usando Docker

Conclusão

Se você seguiu o passo a passo corretamente, então você conseguiu realizar a instalação do MariaDB e do phpMyAdmin com o Docker! Dessa forma, você pode estar rodando o MariaDB e o phpMyAdmin em qualquer ambiente, através do Docker, sem precisar necessariamente realizar a instalação dessas aplicações na sua máquina. Além disso, graças ao recurso de “volume”, você consegue realizar persistência desses dados, o que nos permite rodar uma aplicação com o Docker em um servidor profissional à nível de produção! Vale lembrar que, se você utiliza um servidor de hospedagem com cpanel ou directAdmin, você pode utilizar o MySQL de forma tradicional.

Você também aprendeu diversos conceitos e comandos do Docker! Entretanto, também recomendamos a leitura da seção “Get Started” da documentação oficial do Docker, que contém diversos exemplos e explicações para quem está começando com o Docker. Além disso, você também pode acompanhar nossas publicações e o nosso canal no Youtube, que estamos sempre trazendo conteúdo novo!

Este artigo foi útil?

Obrigado pela resposta!
Rafael Marques

Rafael Marques

Especialista em Desenvolvimento Web e Marketing. É apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, além de atuar como Desenvolvedor Fullstack e redator técnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estimação.

Contato: rafael.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!