Configure um servidor MySQL e Phpmyadmin com Docker

Configure um servidor MySQL e Phpmyadmin com Docker
Neste artigo, vou mostrar como usar o Docker Compose para criar um contêiner MySQL e acessá-lo usando Phpmyadmin 5, a interface de administrador MySQL baseada na Web. Também mostrarei como acessar o servidor de banco de dados MySQL em execução em um contêiner do Docker do DataGrip IDE. Então vamos começar.

Requisitos:

Para seguir este artigo, você deve ter o Docker instalado no seu computador. Linuxhint tem muitos artigos que você pode seguir para instalar o docker na distribuição Linux desejada, se você ainda não o instalou. Então, verifique o Linuxhint.com o caso de você estar tendo problemas para instalar o docker.

Instalando o docker compor:

Você pode fazer o download do docker compor o arquivo binário com muita facilidade com o seguinte comando:

$ sudo curl -l "https: // github.com/docker/compor/liberações/download/1.24.1//
Docker-Compose-$ (uname -s)-$ (uname -m) "-o/usr/local/bin/Docker-Comppose

OBSERVAÇÃO: ondulação não pode ser instalado em sua distribuição Linux. Se for esse o caso, você pode instalar o CURL com o seguinte comando:

Ubuntu/Debian/Linux Mint:

$ sudo apt install curl -y

CENTOS/RHEL/FEDORA:

$ sudo dnf install curl -y

Uma vez Docker-Compose O arquivo binário é baixado, execute o seguinte comando:

$ sudo chmod +x/usr/local/bin/docker-comp

Agora, verifique se Docker-Compose O comando está funcionando da seguinte maneira:

Versão $ Docker-Compose

Ele deve imprimir as informações da versão, conforme mostrado na captura de tela abaixo.

Configurando o Docker compor para o projeto:

Agora, crie um diretório de projeto (digamos ~/Docker/mysqldev) do seguinte modo:

$ mkdir -p ~/docker/mysqldev

Agora, navegue até o diretório do projeto ~/Docker/mysqldev do seguinte modo:

$ CD ~/Docker/MySqldev

Agora, crie um Docker-Compose.Yaml arquivo no diretório do projeto ~/Docker/mysqldev e digite as seguintes linhas no Docker-Compose.Yaml arquivo.

Versão: "3.7 "
Serviços:
MySQL-Server:
Imagem: MySQL: 8.0.19
Reinicie: sempre
ambiente:
Mysql_root_password: segredo
volumes:
- mysql-data:/var/lib/mysql
Portas:
- "3306: 3306"
phpmyadmin:
Imagem: phpmyadmin/phpmyadmin: 5.0.1
Reinicie: sempre
ambiente:
PMA_HOST: MySQL-Server
Pma_user: root
Pma_password: segredo
Portas:
- "8080: 80"
volumes:
mysql-data:

O Docker-Compose.Yaml o arquivo deve parecer o seguinte.

Aqui, eu criei 2 serviços MySQL-Server e phpmyadmin.

MySQL-Server Serviço vai executar o MySQL: 8.0.19 Imagem (de DockerHub) em um recipiente do docker.

phpmyadmin Serviço vai executar o phpmyadmin/phpmyadmin: 5.0.1 Imagem (do DockerHub) em outro recipiente do Docker.

Em MySQL-Server serviço, o Mysql_root_password A variável de ambiente é usada para definir o raiz Senha do MySQL.

Em phpmyadmin serviço, o Pma_host, pma_user, pma_password As variáveis ​​de ambiente são usadas para definir o nome do host MySQL, nome de usuário e senha, respectivamente MySQL-Server serviço.

Em MySQL-Server serviço, todo o conteúdo do /var/lib/mysql diretório será salvo permanentemente no mysql-data volume.

No MySQL-Server serviço, a porta de contêiner 3306 (à direita) é mapeado para a porta host do Docker 3306 (esquerda).

No phpmyadmin serviço, a porta de contêiner 80 (à direita) é mapeado para a porta host do Docker 8080 (esquerda).

Iniciando o MySQL Server e os Serviços PhpMyadmin:

Agora, para começar o MySQL-Server e phpmyadmin Serviços, execute o seguinte comando:

$ Docker -Compõe Up -d

Os serviços devem começar em segundo plano.

Para ver como as portas são mapeadas, execute o seguinte comando:

$ Docker-Compor PS

Como você pode ver, para o MySQL-Server Serviço, a porta host do docker 3306 é mapeado para a porta TCP do contêiner 3306.

Para o phpmyadmin Serviço, a porta host do docker 8080 é mapeado para a porta TCP do contêiner 80.

Acessando PhpMyadmin 5 ou MySQL Server de outros computadores:

Se você deseja acessar o PhpMyadmin 5 ou o MySQL Database Server de outros computadores em sua rede, você deve conhecer o endereço IP do seu host do Docker.

Para encontrar o endereço IP do seu host do Docker, execute o seguinte comando:

$ ip

No meu caso, o endereço IP do meu host do Docker 192.168.20.160. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.

Acessando Phpmyadmin 5 do Web Browser:

Para acessar o phpmyadmin 5, abra seu navegador da web e visite http: // localhost: 8080 do seu host do Docker ou http: // 192.168.20.160: 8080 de outros computadores em sua rede.

phpmyadmin 5 deve ser carregado no seu navegador da web.

Você verá o seguinte aviso. Clique em Descubra o porquê.

Agora, clique em Criar.

A phpmyadmin O banco de dados deve ser criado e o aviso deve desaparecer.

Agora, você pode usar o phpmyadmin para gerenciar seus bancos de dados e tabelas MYSQL.

Acessando o MySQL da DataGrip:

Você também pode acessar seu servidor de banco de dados MySQL do DataGrip IDE ou de qualquer outro IDES SQL.

Em caso de datagrip, clique em + de Bancos de dados seção e vá para Fonte de dados > Mysql.

Agora, digite 192.168.20.160 como Hospedar, 3306 como Porta, raiz como Do utilizador, segredo como Senha e depois clique em Conexão de teste.

Se estiver tudo bem, você deve ver as informações do servidor de banco de dados MySQL, como mostrado na captura de tela abaixo.

Agora, clique em OK.

Agora, você poderá gerenciar seus bancos de dados e tabelas MySQL do DataGrip.

Interrompendo os serviços do MySQL Server e PhpMyadmin:

Agora, para parar o MySQL-Server e phpmyadmin Serviços, execute o seguinte comando:

$ docker-compor para baixo

O MySQL-Server e phpmyadmin Os serviços devem ser interrompidos.

Limpando os dados do MySQL Server:

Se você deseja remover todos os dados e configurações do banco de dados MySQL, você deve remover o mysql-data volume.

Você pode encontrar o nome real do volume com o seguinte comando:

$ docker volume ls

Como você pode ver, o volume a remover é mysqldev_mysql-data.

Você pode remover o volume mysqldev_mysql-data com o seguinte comando:

$ docker volume rm mysqldev_mysql-data

Referências:

[1] https: // hub.Docker.com/_/mysql
[2] https: // hub.Docker.com/r/phpmyadmin/phpmyadmin/