Gabriel Dias Mazieri
Posted on October 26, 2022
Como configurar uma instância de MySQL em um container podman.
Esse guia não é exclusivo da distribuição Ubuntu, a partir do momento que você instalou o podman na sua distribuição os passos são muito similares.
Leia este 4Noobs https://github.com/rluders/containers4noobs/blob/main/pages/install-linux.md para mais informações sobre o Podman no ambiente linux.
E aproveite para conhecer mais sobre containers em: https://github.com/rluders/containers4noobs/blob/main/README.md
- Instale o podman no Ubuntu 22.04, abra seu terminal e dê o comando:
sudo apt-get -y update
sudo apt-get -y install podman
- Ao final da instalação, certifique de ter instalado corretamente, dê o comando:
podman --version
- Baixe uma imagem MySQL via podman.
podman pull docker.io/library/mysql
- Perceba que o comando que baixa uma imagem utiliza o domínio do docker.
- Veja também que no lugar de “mysql” podemos colocar qualquer imagem disponível no domínio do docker, por exemplo: “mongo”.
- Ao finalizar o download podemos visualizar as imagens baixadas, dê o comando:
podman ps
- Inicie uma nova instância do MySQL, dê o comando:
podman run -dt -e MYSQL_ROOT_PASSWORD=<SenhaDoUsuárioRoot> \
-e MYSQL_USER=<NomeDeUsuário> -e MYSQL_DATABASE=<NomeDoBanco> \
--name <NomeDoContainer> -p 3306:3306 mysql:<Tag>
Explicando o comando acima:
Leia mais em: https://docs.podman.io/en/latest/markdown/podman-run.1.html
- A flag
-dt
diz para esse container trabalhar em segundo plano e também aloca um pseudoterminal a ele. - No lugar de "< SenhaDoUsuárioRoot >" coloque uma senha que o usuário root do seu container utilizará, por exemplo: MYSQL_ROOT_PASSWORD=root
- No lugar de "< NomeDeUsuário >" coloque o nome de usuário do mysql desejado, no meu caso será grandehe4rt.
- No lugar de "< NomeDoBanco >" coloque o nome do banco de dados desejado para o projeto que estará trabalhando.
- No lugar de "< NomeDoContainer >" você pode preferir colocar o nome do projeto que você está utilizando.
- No lugar de "< Tag >" você pode optar por usar as tags disponíveis pelo próprio docker para imagens MySQL, prefira sempre a versão mais estável e recente, opte pela tag “latest” ficando então
mysql:latest
.
A partir do momento que você executar esse comando você terá um container MySQL funcional na porta 3306 do host local.
- Execute o comando:
podman exec -it <NomeDoContainer> /bin/bash
Aqui você irá iniciar o pseudoterminal do seu container como usuário root.
- Você pode certificar de que é o usuário root em seu container MySQL rodando o comando:
whoami
> root
- Execute o comando em seguida insira a senha que você definiu no passo anterior (MYSQL_ROOT_PASSWORD):
mysql -uroot -p
- A partir daqui você tem acesso total ao banco de dados do seu container/projeto.
Passos que talvez não seja obrigatório para todos:
Caso você tenha problemas do tipo:
- MySQL Public Key Retrieval is not allowed.
Ao se conectar ao banco de dados via DBeaver.
Faça o seguinte no DBeaver:
1- New Database Connection
2- MySQL Database.
3- Next.
4- Preencha o nome do seu banco de dados fornecido no passo anterior (MYSQL_DATABASE)
5- Preencha a senha do usuário root do mysql fornecido no passo anterior (MYSQL_ROOT_PASSWORD)
6- Modifique a configurações de Driver da conexão.
7- Navegue até “Driver properties”
8- E adicione 2 novas propriedades
8.1. allowPublicKeyRetrieval = true
8.2. useSSL = false
9- OK
- Clique em test connection, a partir daqui é esperado que funcione normalmente, e ao final você terá uma conexão com seu banco de dados que está instanciado em seu container podman.
Dúvidas, Sugestões e Feedbacks são apreciados.
Me siga nas redes sociais:
- Twitter: https://twitter.com/grandehe4rt
- Instagram: https://www.instagram.com/grandehe4rt/
- LinkedIn: https://www.linkedin.com/in/grandehe4rt/
- Dev.to: https://dev.to/grandehe4rt
Posted on October 26, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.